As soon as any framework component use `MessageBuilder.fromMessage`, no one use `mutateMessage`, it says that there is no built-in mechanism to follow with `mutate` logic.
If `Message` for builder isn't `MutableMessage` it will be converted to it on first call of `MutableMessageBuilder#fromMessage` or `withPayload`. 
All other  call of `MessageBuilder.fromMessage` in the downstream flow will reuse that `MutableMessage`. 
If there is need to build new `MutableMessage` based on that the user should use `MessageBuilder` directly:
````xml
<int:tranaformer expression="T(org.springframework.integration.support.MessageBuilder).fromMessage(#root)"/>
````
Right, here is one more `Message` object for GC, becuase it is `GenericMessage`, which will be converted to the `MutableMessage` in the next endpoint with `MutableMessageBuilder` from AC. But it will be more consequentially to always have the same `MutableMessage` ruther then allow to create `MutableMessage` on each call.

So, my position to get rid of `mutale` state and `mutateMessage` method.