def __call__(self, **kwargs):
        @functools.wraps(self.func)
        def curried_func(**kwargs_):
            final_kwargs = kwargs.copy()
            final_kwargs.update(kwargs_)
            return self.func(**final_kwargs)

        data = dict((k, v) for (k, v) in self.data.iteritems()
                    if k not in kwargs)
        return Property(curried_func, data, self.tests_count)
Calling the property object will create new one
dataset/ETHPy150Open Xion/pyqcy/pyqcy/properties.py/Property.__call__