Merge master into release

I was taking a look at release and noticed it was quite a bit behind master, so I did the merge for you. The only conflict was in event_manager since it was broken out into its own file, but it was trivial to redo the changes.

Any thoughts on what remains to be done for this feature? Perhaps I can work on it.