We should consider enhancing SI to avoid having to mutate the message twice (once for conversion and once to add the CT header in the interceptor). Maybe add a `contentType` property to the `AbstractMessageChannel` which gets added in `convertPayloadIfNecessary()`.