refactor and add another test for handle event
add weixin message dispatcher
finish dispatch