public function output(array $args = [])
    {
        $default_args = [
            'exit' => false,
        ];
        $args += $default_args; // Merge defaults.
        $args['exit'] = (bool) $args['exit'];

        if ($this->hasNoCache()) {
            $this->App->c::noCacheFlags();
        }
        $status   = $this->getStatusCode();
        $protocol = 'HTTP/'.$this->getProtocolVersion();

        $this->App->c::statusHeader($status, $protocol);

        foreach (array_keys($this->getHeaders()) as $_header) {
            header($_header.': '.$this->getHeaderLine($_header));
        } // unset($_header); // Housekeeping.

        $Body = $this->getBody();
        $Body->rewind(); // Rewind.

        while (!$Body->eof()) {
            echo $Body->read(262144); // 256kbs at a time.
        }
        if ($args['exit']) {
            exit; // Stop here.
        }
    }