Added base DomainObject class and DomainObjectFactory