Easy to use event dispatching API