Thanks for your comments on our model Philip, it is really appreciated and very enlightening. >From your comments some other questions came to mind (I posted this on the Wiki as well): It seems that we did not give enough consideration for the pattern, Roles Before Objects but we can retrofit this pattern to our existing design without to much trouble. The area where I need more guidance is on the ability of a specialist to add attributes on top of objects. Thinking out load: Objects might have different attributes depending on the roles they play in various application frameworks. Specialists make it possible to add these attributes through AttributeProviders. One might create a Person ZClass with properties Name, Surname, Age. When the Person plays the role of Customer we will create a Customers specialist for that role providing us with services relevant to dealing with Customers. Let's say for now that the properties defined on our ZClass propertysheet for Person suffices for the Customer role. Our Person object also plays the role of Requester in our Requesters specialist. For this role we need an extra attribute, Priority. The Requesters specialist will ask the Customers specialist for properties Name, Surname and Age but will store the attribute Priority in it's own rack. For storage in the ZODB this will imply that the extra attributes will be stored persisently in the slots of the Requester. For non-ZODB storage like a SQL RDB one will have to add a table to the RDB. Roché _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )