public function status($key = null, $status = null) {
		if ($status === null) {
			$status = $key;
		}
		if ($status) {
			$this->status = ['code' => null, 'message' => null];

			if (is_array($status)) {
				$key = null;
				$this->status = $status + $this->status;
			} elseif (is_numeric($status) && isset($this->_statuses[$status])) {
				$this->status = ['code' => $status, 'message' => $this->_statuses[$status]];
			} else {
				$statuses = array_flip($this->_statuses);

				if (isset($statuses[$status])) {
					$this->status = ['code' => $statuses[$status], 'message' => $status];
				}
			}
		}
		if (!isset($this->_statuses[$this->status['code']])) {
			return false;
		}
		if (isset($this->status[$key])) {
			return $this->status[$key];
		}
		return "{$this->protocol} {$this->status['code']} {$this->status['message']}";
	}