add some ways to hook various event from client
delete hgroup
add event.js
modify context selector logic, reduce match cases