Added builder methods to all the domain objects so that can be used that way as well as using the constructors