There are decoder use cases (LoRA in particular) where many different payload types can be received on the same connection. For instance, the LoRA message may contain the DevEUID and encoded payload, but the parsing logic may be very device-specific. Create a composite decoder that allows metadata to be gathered from the payload before invoking a chain of potential decoders which use the metadata to determine which decoder applies. The default metadata includes device and specification information, but is pluggable to allow for custom metadata. Everything should be configurable via the tenant configuration editor.