docs: function(method, payload, callback) {
  			var that = this,
  				request = new XMLHttpRequest();
  			var xtarget = gui.URL.external(this._url, document);
  			if (xtarget && window.XDomainRequest) {
  				request = new window.XDomainRequest(); // @TODO: test this thing!
  			}
  			request.onreadystatechange = function() {
  				if (this.readyState === XMLHttpRequest.DONE) {
  					var data = that._response(this.responseText);
  					callback(this.status, data, this.responseText);
  				}
  			};
  			if (this._override) {
  				request.overrideMimeType(this._headers.Accept);
  			}
  			request.open(method.toUpperCase(), this._url, true);
  			if (!xtarget) { // headers not used xdomain per spec
  				gui.Object.each(this._headers, function(name, value) {
  					request.setRequestHeader(name, value, false);
  				});
  			}
  			request.send(payload);
  		}