protected function _backoff($callback, $maxTries = 1) {
		$e = null;
		$result = null;

		for ($tries = 0; $tries < $maxTries || $maxTries === false; $tries++) {
			try {
				if ($result = $callback()) {
					return $result;
				}
			} catch (Exception $e) {}
			if ($tries) {
				$retryIn = pow(2, $tries);
				$this->_log->notice("Backing off at try #{$tries}; will retry in {$retryIn}s.");

				sleep($retryIn);
			}
		}
		$this->_log->notice("Backing off failed at try #{$tries}.");

		if ($e) {
			throw $e;
		}
		return $result;
	}