Gradual refactorization of everything I've done because I know a lot
more now. DomainObject was added and Friend/Person both extend it. This
is the Layer Supertype pattern. Unit of Work is gradually being
refactored to accept any DomainObject.