docs: function(options) {
  			var deferred = lib.promise.defer(this);
  			if (this.ready) {
  				var time = new Date().getTime();
  				this._query(options,function(error,result) {
  					if (error) {
  						deferred.reject(error);
  					} else {
  						result.time = new Date().getTime() - time;
  						deferred.resolve(result);
  					}
  				});
  			} else {
  				this.once("ready",function() {
  					this.query(options).done(deferred,deferred);
  				});
  			}
  			return deferred.promise;
  		}