Some implementation details...
Read tests/testUsage.py. It shows what StagingAddOn really does and how to use its API.
Archetyptes.BaseObject.manage_afterClone() is monkey-patched in patches.py. I would prefer using event subcribers, but it does not work in Zope 2.8 and I want StagingAddOn to be compatible with this version of Zope (which should be used with Plone 2.1 and can be used with Plone 2.5).
CMFUid.UniqueIdHandlerTool.[_]queryBrain() are monkey-patched in patches.py. See this file for further details.
We have chosen to store relationship informations on the object itself, not in portal_staging tool. Hereafter is the list of the current attributes that StagingAddOn adds to the objects. Note that I am not really satisfied with this design: this may change in the future (migration code will be provided, naturally).