Unified callback event

Some clean up of the events, and unifying all callback registration into one CallbackRegistration