add some quick event dispatching logic