callable object
Registering callback using std::function in C++