Macro deriving a ReadState implementation for the destination state type,
consuming a message of message_type and the current state, as indicated by
the transition tuple.
Macro deriving a WriteState implementation for the origin state type,
generating a message of message_type and a new state, as indicated by the
transition tuple.