* Better event apis
* More definition wiht on()