building out custom json schema object model to replace json.net's unoptimized version