modify eventdispatcher

make eventhandler can register in array
push impact event work in progress