Fair enough. The only reason for requiring a ManagedObject was that
I thought the ManagedObject would be part of the identity.
i.e. two properties with the same values but belonging to different managed objects
would be different.
See the "equals" implementation.
It is generally desirable to have an immutable identity, i.e. no setManagedObject()
If the properties are going to have a standalone identity then it is not an issue.