Specifically, I'm extracting and removing the source, error, and such fields from the payload so I can send them separately (and reduce the bridge cost of checking the payload)

Related, what is the fate of Rhino? This concern of mine becomes moot once we drop Rhino.