Event refactor

Just a thought...

(note: this depends on #145)
I'd make this non-const. It won't change the ```Event``` object, yes, but only because what it contains is merely an ```event*```. The event, logically, *is* going to be mutated by this, so it'd be best to reflect that, I think.