ExtensionClass and ExtensionClass-related packages
==================================================
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``).