Adding a clean up event.

The clean up will pass the same event object as the initial event that is being cleaned up after. This should be able to provide some context as to what is being cleaned up.
Adding a method to return an event unique identifier.