# File lib/mcollective/pluginmanager.rb, line 72
    def self.[](plugin)
      raise("No plugin #{plugin} defined") unless @plugins.include?(plugin)

      klass = @plugins[plugin][:class]

      if @plugins[plugin][:single]
        # Create an instance of the class if one hasn't been done before
        if @plugins[plugin][:instance] == nil
          Log.debug("Returning new plugin #{plugin} with class #{klass}")
          @plugins[plugin][:instance] = create_instance(klass)
        else
          Log.debug("Returning cached plugin #{plugin} with class #{klass}")
        end

        @plugins[plugin][:instance]
      else
        Log.debug("Returning new plugin #{plugin} with class #{klass}")
        create_instance(klass)
      end
    end