Make the serializer/deserializer implementations package-private