update CallbacksInvoker to allow fine grained control of the events