has some idea to write event dispatcher, tomorrow write it! register , remove and dispatch event