def make_property(prop_cls, prop_default, autoset=True):
    """Turns the wrapped function into the setter of a property """
    def wrapper(fset):
        fset.prop = True
        fset.prop_cls = prop_cls
        fset.prop_default = prop_default
        fset.prop_autoset = autoset
        return fset
    return wrapper