[fix] just call eventListener
[minor] pass traits by object to register