Event refactor

Just a thought...

(note: this depends on #145)
This is why I prefer reitveld - you can edit your comments. :-)