Merge pull request #87 from bjz/events

Use messaging instead of trait objects for event handling