Proper event dispatching to components/buttons