Event refactor

Just a thought...