branch/event-manager

@kadst43 @eric79 Here's the event manager driver and behavior. It's really simple and it works. Let me know what you think.
I know that this is all over our other drivers, but this is actually bad form.  When we implement our idea to eliminate the logging step in production mode, the number of `kernels` will actually change.  What won't change is that it will always be the last `kernel` that you want.  It would be better to have a little loop that found `this.kernel` until there wasn't another one and use that last one.