This is just a bad example. I would use a closure here for the simple fact that it's simpler. No need to create an extra class with __call__ magic when you can just return a closure.
Now, if you're doing something more complex, a class complete with self parameters is simply unavoidable.