Requirement is to facilitate the following scenario
1) Accept the message (perhaps with a lot of unknown fields with respect to the local dictionary),
2) Do some modifications to some of the fields (fields that the dictionary knows) and pass the message.
3) The message passed should contain all the "unknown" fields + the modified fields.
It seems like with the current implementation, we have no choice but to add all the unwanted fields (fields that does not need for the particular component's business logic or behavior) and do a send to make sure all of the fields are present in the message that we are sending downstream which is a limitation.