change register() API to on() for semantic
update readme
new simple style API