Currently is unclear to the user what happen to message properties when a functions outputs a message. To reduce ambiguity and increase flexibility there should a parameter in the function config to enable to disable this behavior.
If enabled the output message will carry over all properties sound in the input topic if disabled none will be. The function can still modify the properties as currently possible.