A few options of how we can go above maintaining backwards compatibility:

1. Convert the new events to the old format, removing new fields (like in the code above). Then in our pipeline we revert back to the new format during C14N.
2. Convert the new events to the old format, by duplicating fields. Then in out pipeline we remove the extra fields during C14N, or simply ignore them.  
3. We produce only new events, and do what the code above does during exports.
I prefer 2 because it gives a path for migration, giving people time in which old code will still work with the new events.