This is not a logical place to handle the callbacks. To me the callbacks are just like commands which you execute after an event ocuccurs. That is, the command queue scheduler should be aware of those and execute them, right? These macros were meant to just notify about the events, not react to them.