<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ManagedCreate(super_cls):
 """Dynamically creates a `create` method for a `ObjectSet.Managed` class that calls the `super_cls.create`. The first positional argument that is passed to the `super_cls.create` is the `_manager` that was set using `ObjectSet.Managed`. The created object is added to the `ObjectSet.Managed` also placed in the correct `_data[field]` and `_orig_data[field]` for the `_manager` object. """


    @wraps(super_cls.create)
    async def _create(self, *args, **kwargs):
        cls = type(self)
        manager = getattr(cls, '_manager', None)
        manager_field = getattr(cls, '_manager_field', None)
        if manager is not None and manager_field is not None:
            args = (manager,) + args
            new_obj = await super_cls.create(*args, **kwargs)
            self._items = self._items + [new_obj]
            manager._data[manager_field.name] = (
                manager._data[manager_field.name] +
                [new_obj._data])
            manager._orig_data[manager_field.name] = (
                manager._orig_data[manager_field.name] +
                [new_obj._data])
            return new_obj
        else:
            raise AttributeError(
                'create is not supported; %s is not a managed set' % (
                    super_cls.__name__))
    return _create