Added decorator (event.asynchronous and event.synchronous) in order to simplify dealing with callbacks in listeners