add DomainObject to implement Martin Fowler's DataMapper PEAA