assumptions: we are doing inheritance by delegation the object being delegated to (the delegatee) is given and may store a reference to THIS (the aggregate object) the object doing the delegation (the delegator) must contain a reference to the delegatee objects are created by MAKERs an object has a particular BEHAVIOR a MAKER creates an object with a specific BEHAVIOR an object of a given BEHAVIOR can only be made by a specific MAKER. this is so an auditor can audit MAKER properties based on the BEHAVIOR of an object. when asked what the alledgedClass of an object is, its BEHAVIOR will return a CLASS a CLASS can answer queries about the BEHAVIOR of objects which claim this CLASS as their alledgedClass a PROMISE can be used for the THIS reference. it would appear that a single SOF file should contain the BEHAVIOR of the MAKER as well as the BEHAVIOR of the object that the MAKER makes. These corrospond to the static and non-static methods of a java class. BEHAVIORS must be confined so as to maintain the one to one MAKER-BEHAVIOR relationship. A CLASS can be used for this confinement.