You haven't justified this general of a system - as you have it, there's no need to register callbacks, you might as well just call the callback.