So, you've got this thing renaming the keys.  Which kinda mixes the concerns of getting the event and the subsequent changing of the event into the same class.  I don't know that we get any performance gains out of the mix of the concerns, so I think we should separate them out for now.

It should be possible to have a KeyRenamingUpdateStream that wraps an UpdateStream and just renames the keys.