code: function(term, schema, opts) {
        opts = opts || {};
        // Add the id to the schema:
        if (!schema.id) {
          schema.id = 'oada-formats://vocab/' + modulename + '/' + term;
        }
        // If it has a propertySchema, create properties with it:
        if (schema.propertySchema && !opts.skipCreatingProperties) {
          schema = _M.propertySchemaToProperties(schema)
        }
        // If it has no propertySchema, make one if possible:
        if (!schema.propertySchema
            && schema.properties 
            && !opts.skipCreatingPropertySchema) {
          schema = _M.propertiesToPropertySchema(schema);
        }
  
        // Store original vocab source definition in the schema itself for reference later
        schema.vocab = { 
          module: modulename, 
          term: term,
          registrationOrder: _M._registrationOrder++,
        };
  
        // Store term in global vocab object:
        _M._vocab[term] = schema;
      }
docs: register adds a term to the known vocabulary.  You can have opts of: opts: - skipCreatingProperties: skips step which creates properties from the propertySchema if there is a propertySchema on the object. - skipCreatingPropertySchema: skips step which creates a propertySchema from the list of properties if there is not a propertySchema on the object.