Change domain model constructors to private