Re-factored application wide event handling