/// This ALWAYS starts the handler at New. This can only be constructed from a [ChannelType] which
/// This is the only way to construct a ChannelCellHandler, from the channel type which will always
// Here is an explanation on why AnyChanCell is used as Item in the Handshake and Open handler and
// Technically, we could use a restricted message set and so the decoding and encoding wouldn't do
// more sets of restricted message (see msg.rs) and each of them are per link protocol version, per
// To go around this, we use [MessageFilter] in order to decode on the specific restricted message
/// A new channel handler used when a channel is created but before the handshake meaning there is no
/// The handshake channel handler which is used to decode and encode cells onto a channel that is