public void removeListener(Class<? extends PluginListener> key) {
        Validate.notNull(key, "Key to remove cannot be null!");
        if (!listeners.containsKey(key))
            return;
        if (registered)
            HandlerList.unregisterAll(listeners.get(key));
        listeners.remove(key);
    }