Add and Remove Events

This adds in all functionality for adding and removing events. Must
still be compatibility tested.