Moved the message intent into a header to avoid having to marhal it in
each transport. Also fixes the issue with the TM not storing it. #993