Updated the callback and event-system