Synthetic events
Synthetic events have the same interface as normal events but they behave the same across all browsers.
The interface is the same - so commands such as e.stopPropagation() and e.preventDefault()
Event Pooling
Synthetic events are re-used. This is because there is a cost to creating and destroying them.
Properties are nullified after the event has been handled.