docs: function(opath, context) {
  		var result, struct = context || self;
  		if (gui.Type.isString(opath)) {
  			if (!opath.contains(".")) {
  				result = struct[opath];
  			} else {
  				var parts = opath.split(".");
  				parts.every(function(part) {
  					struct = struct[part];
  					return gui.Type.isDefined(struct);
  				});
  				result = struct;
  			}
  		} else {
  			throw new TypeError("Expected string, got " + gui.Type.of(opath));
  		}
  		return result;
  	}