docs: function(prefix, plugin, override) {
  		var plugins = this.$plugins;
  		var proto = this.prototype;
  		if (!proto.hasOwnProperty(prefix) || proto.prefix === null || override) {
  			if (!plugins[prefix] || override) {
  				plugins[prefix] = plugin;
  				proto.prefix = null;
  				gui.Class.children(this, function(child) {
  					child.plugin(prefix, plugin, override); // recursing to descendants
  				});
  			}
  		} else {
  			console.error("Plugin naming crash in " + this + ": " + prefix);
  		}
  		return this;
  	}