When creating a new Serializer, you can pass SerializerOptions. How is this implemented (and is it used)? Isn't it more convenient to make it a strongly typed class instead of a dictionary?
When extending this we can add properties like MakeLowerCase so it counts for the entire serialization graph.