Create or clone events only if needed.
Merge pull request #583 from tobeytailor/events

Reduce the number of events being instantiated