Might be good to call this FramedDeserializer. It's kind of weird that Serializer and Deserializer aren't symmetric... I feel that the length-encoding / framing stuff should all be in subclasses.