docs: def register(cls, plugin):
          """
          Registers the given plugin instance to this system.  If a plugin with
          the same name is already registered, then this plugin will not take
          effect.  The first registered plugin is the one that is used.
          
          :param      plugin | <Plugin>
          
          :return     <bool>
          """
          plugs = getattr(cls, '_%s__plugins' % cls.__name__, None)
          if plugs is None:
              cls.loadPlugins()
  
          plugs = getattr(cls, '_%s__plugins' % cls.__name__, {})
  
          if plugin.name() in plugs:
              inst = plugs[plugin.name()]
  
              # assign the plugin instance to the proxy
              if isinstance(inst, PluginProxy) and \
                      not isinstance(plugin, PluginProxy) and \
                      not inst._instance:
                  inst._instance = plugin
                  return True
  
              return False
  
          plugs[plugin.name()] = plugin
          setattr(cls, '_%s__plugins' % cls.__name__, plugs)
          return True