event dispatcher added

unit test cases are underway