Re-work the event system (again)
Implement TrackedActionType
Minor changes to the event system
Catch errors thrown during serialization
Add a bizzare method that no one should ever use