Started to build out the abstract classes needed to direct the native JSON deserializer how to work on custom types.