[MAJOR REFACTORING] fixed event dispacher and Event handler