Wondering why in nrv.data.serialization package as there is nrv.protocol.codec.Codec trait?