'Triggers initialization'

def __get__(self, obj, type=None):

    if (obj is None):
        return self
    value = obj.__dict__.get(self.__name__, _missing)
    if (value is _missing):
        value = self.func(obj)
    obj.__dict__[self.__name__] = value
    return value
