slight rearrange builder creation to use setter methods from the factory methods.
automatically uses the setters and makes unused method warnings go away, also moves the defaults into the domain objects scope.