def __call__(name, module):
    """Create an object with the given name in the given (dynamic) module.

        This will only be called once for each name. __module__ is the module
        that the object will live in, and name is the name of the object
        itself. That is,  the full dotted name of the generated object will be
        "{0}.{1}".format(module.__name__, name).

        This function should return a new object, or return None, in which
        case the dynamic module will generate an AttributeError. There is
        no need to mess with sys.modules or modify the 'module' object.
        """
