Better separation of events and hash change