public function status($status = NULL) {
        if ($status === NULL) {
            return $this->status;
        } elseif (array_key_exists($status, Response::$messages)) {
            $this->status = (int)$status;
            $this->status_message = Response::$messages[$this->status];
            return $this;
        } else {
            throw new Exception(__METHOD__ . ' unknown status value : :value', array(':value' => $status));
        }
    }