ExtensionClass
This package provides a metaclass that allows classes implemented in
extension modules to be subclassed in Python. Unless you need
ExtensionClasses for legacy applications (e.g. Zope 2), you probably
want to use Python's new-style classes (available since Python 2.2).
ComputedAttribute
This package provides a way to attach attributes to an
ExtensionClass or instance that are computed by calling a
callable. This works very much like property known from new-style
classes, except that a ComputedAttribute can also be attached to
an instance and that it honours ExtensionClass semantics (which is
useful for retaining Acquisition wrappers, for example).
MethodObject
This package lets you attach additional "methods" to ExtensionClasses.
These "methods" are actually implemented by subclassing the
MethodObject.Method class and implementing the __call__ method
there. Instances of those classes will be bound to the instances
they're attached to and will receive that instance object as a first
parameter (after self).