docs: 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