Improve events:

1) Events receive their handler as `this`
2) `trigger` can receive many arguments