Hi, the demo'll change a bit because I've rewritten the command system a bit, now there is just an std::map for all command (a coman can take an action and a slot, a triggerer function and a slot or an action, a trigger function and a slot)
The class ActionMap have been renamed to Command, and you have to always connect a command to the listener. (You cannot connect a trigger and a slot function directly.
The class FastDelegate is now able to take any kind of function, and thus, also std::function!!! (Or even your own function type)
In c/c++ there is a lot of functions with a different type, and with c++11 there are even more, so, this is why I've created a class to store them temporatly and to call the function pointers correctly with the inheritance.
Now, you can pass a shader when drawing entities on components and perform per pixel lighting for exemple. (This is what I'll do in the last version)