Strictly speaking there could be no encoding step at all -- it is so easy to construct it yourself and possibly batch messages. Decoding adds more value. I don't find it inconsistent.