docs: function(SuperC, proto, name) {
  		name = name || gui.Class.ANONYMOUS;
  		// TODO: this in devmode if and when we might know the name beforehand
  		// C = gui.Function.create ( name, null, this._namedbody ( name ));
  		var C = function $Class() {
  			if (this instanceof $Class) {
  				return gui.Class.$constructor.apply(this, arguments);
  			} else {
  				return $Class.extend.apply($Class, arguments);
  			}
  		};
  		C.$classid = gui.KeyMaster.generateKey("class");
  		C.prototype = Object.create(proto || null);
  		C.prototype.constructor = C;
  		C = this._internals(C, SuperC);
  		C = this._interface(C);
  		C = this._classname(C, name);
  		return C;
  	}