App no longer uses factory methods but descriptors
App no longer uses factory methods but descriptors

The descriptors subclasses and caches the classes with the app
attribute set to self.

This means that it's possible to for example::

    isinstance(x, app.AsyncResult)

    class X(app.AsyncResult):
        pass

and probably something else :)

cbrepo/celery,cbrepo/celery,ask/celery,ask/celery