Added `customData` and `extendedData` to Events.

Why are you not creating an ExtendedData TYPE? Using a dictionary leaves this open to abuse.