Add Event Dispatcher Pattern