Something went terribly wrong! I cannot disable a plugin from the configuration.
The reason for this is that the plugins are initialized during startup. In the constructor, the Web Console will lookup the configuration and see if plugin is disable. If so, it will be ignored, otherwise the plugin will be instantiated and ready to use.
However, configuration delivery is asynchronous, so you don't know when the configuration dictionary is delivered and in my case, it is 'updated' a little bit after the initialization. So initially, when the web console is initialized, it has 'null' - default configuration and all plugins are enabled. Then later on, after updating the configuration I disable as example the 'shell' plugin.
Unfortunately, the web console will not check if the plugin is disabled, when the browser is opened and the 'shell' plugin remains visible.
Putting the plugin initialization in the constructor, means, that there is no way to actually disable a plugin and all internal plugin will be instantiate and visible by default, Even if they are not needed, there is no browser request for them or disabled by the configuration.