new feature: event pre-registration 

Codes review of the new feature.
It seems that we need a code style agreement:

```sublime
tab-size: 2
```