a lite asynchronous event lib