registerPlugin(name2, plugin, options = {}) {
      if (this.plugins.has(name2)) {
        throw new Error(`Plugin ${name2} already registered`);
      }
      this.plugins.set(name2, new plugin(this, options));
    }
Uses a registered plugin by name.
@param {string} name - Name of the plugin to use.
@param {Object} [options={}] - Options to pass to the plugin.
@returns {Model} - Returns the model instance to allow method chaining.