I was checking master.cpp, and I saw that a lot of the objects there are functors, which is OK unless you get a pointer to the functor instance and then call its operator() which looks something like (*instance)(parameters). I have always find this syntax somewhat confusing since it looks a lot like an old C cast.
Is there a rationale for using this functor model everywhere? Isn’t it possible to use the operator as a wrapper for some method call, so when applied on a pointer we call the method directly? I find that much more readable.
