Currently, datatypes, and various handlers for datatypes, need to be registered or hardcoded in several places. There should be a single central place for defining datatypes, and providing the necessary specifications and callbacks.
Some things that currently need to be registered for datatypes:
- the value type
- parser and various formatters