<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def register_lazy_provider_method(self, cls, method):
 """ Register a class method lazily as a provider. """

        if 'provides' not in getattr(method, '__di__', {}):
            raise DiayException('method %r is not a provider' % method)

        @functools.wraps(method)
        def wrapper(*args, **kwargs):
            return getattr(self.get(cls), method.__name__)(*args, **kwargs)

        self.factories[method.__di__['provides']] = wrapper