WIP for JSON properties

This is an attempt to allow us the ability to define base level schemas as
classes that extend a type, like string or boolean.