docs: function(arg) {
  		var spirit, element, doc = document;
  		switch (gui.Type.of(arg)) {
  			case "string":
  				if (gui.KeyMaster.isKey(arg)) {
  					spirit = this._spirits.inside[arg];
  				}
  				if (!spirit) {
  					try {
  						element = doc.querySelector(arg) || doc.querySelector('#' + arg);
  					} catch (badselector) {
  
  					} finally {
  						spirit = element ? element.spirit : null;
  					}
  				}
  				break;
  			case "function":
  				var sp, spirits = this._spirits.inside;
  				if (gui.Type.isSpiritConstructor(arg)) {
  					Object.keys(this._spirits.inside).some(function(key) {
  						if (((sp = spirits[key]).constructor === arg)) {
  							spirit = sp;
  							return true;
  						}
  					});
  				}
  				break;
  			default:
  				if (gui.Type.isElement(arg)) {
  					spirit = arg.spirit || null;
  				} else {
  					throw new TypeError('gui.get(' + arg + ')');
  				}
  				break;
  		}
  		return spirit || null;
  	}