code: def promise_method(func):
      
      name = func.__name__
  
      @wraps(func)
      def wrapped(self, *args, **kwargs):
          cls_name = type(self).__name__
          if getattr(self, '_%s__resolved' % (cls_name,)):
              return getattr(getattr(self, '_%s__wrapped' % (cls_name,)), name)(*args, **kwargs)
          return func(self, *args, **kwargs)
      return wrapped
docs: A decorator which ensures that once a method has been marked as resolved
      (via Class.__resolved)) will then propagate the attribute (function) call
      upstream.