CoreObject is a framework for describing and organizing model objects, with
automatic persistence and versioning by recording messages sent to objects. It
offers a flexible versioning scheme where both individual objects and their
entire object graph can be versioned separately. The built-in object model is a
generalization of the property model used by the AddressBook framework. Foreign
model objects can be also integrated by wrapping them with a special proxy.
CoreObject uses the EtoileSerialize framework which, in many cases, allows
objects and messages to be automatically serialized with no extra code being
written.
WWW: http://www.etoile-project.org/