added support for many new record types as well as handling the polymorphic serialization/deserialization in the REST GET/POST methods