code: def loadable(func_name):
    
    def inner(func):
      cached_name = '_' + func.__name__
      @functools.wraps(func)
      def _decorator(self, *args, **kwargs):
        if getattr(self, cached_name) is None:
          getattr(self, func_name)()
        return func(self, *args, **kwargs)
      return _decorator
    return inner
docs: Decorator for getters that require a load() upon first access.
  
    :type func_name: function
    :param func_name: class method that requires that load() be called if the class's _attribute value is None
  
    :rtype: function
    :return: the decorated class method.