':param loader: when called with no arguments, returns the value to be stored
:type loader: callable'

def __init__(self, loader, *args, **kwargs):

    super(Future, self).__init__(*args, **kwargs)
    self._loader = loader
    self._d = None
