docs: function() {
  		var C = gui.Class.extend.apply(this, arguments);
  		C.$plugins = gui.Object.copy(this.$plugins);
  		return C;
  		/*
  		 * Mutating plugins deprecated!
  		 *
  		var args = [],
  			def, br = gui.Class.breakdown(arguments);
  		["name", "protos", "recurring", "statics"].forEach(function(key) {
  			if ((def = br[key])) {
  				args.push(def);
  			}
  		}, this);
  		var C = gui.Class.extend.apply(this, args);
  		C.$plugins = gui.Object.copy(this.$plugins);
  		var b = gui.Class.breakdown(arguments);
  		gui.Object.each(C.$plugins, function(prefix, plugin) {
  			var def = b.protos[prefix];
  			switch (gui.Type.of(def)) {
  				case "object":
  					var mutant = plugin.extend(def);
  					C.plugin(prefix, mutant, true);
  					break;
  				case "undefined":
  					break;
  				default:
  					throw new TypeError(
  						C + ": Bad definition for " + prefix + ': ' + def
  					);
  			}
  		}, this);
  		return C;
  		*/
  	}