working towards a first basic implementation, gradually filling in value-object interface implementations with Immutable's where appropriate.