Introduce AbstractMessage to allow more flexibility for transforms
Merge pull request #6 from b/abstract_message

Introduce AbstractMessage to allow more flexibility for transforms