Things that make up an application

'Fedora defines four types of Fedora objects'

This is kind of interesting and has me thinking of how you do this. In Zope, containment is powerful.
Data Objects (the things people want) are types of content models (who's properties can be looked up). which then have interfaces (what methods they have) and who implements those interfaces.

The Fedora community has identified three prominent constructional content modelling patterns: simple, compound and atomistic.
* simple data objects contain a single content-bearing datastream * compound data objects contain multiple content-bearing datastreams in a single object * an atomistic (also called complex) object has one or more 'child' objects each normally bearing a single content-bearing datastream. All these child objects are linked by a single 'parent' object which is able to identify them and express any relationship (for instance ordering) between them.

notes came from this page