public function setCacheable($minutes)
    {
        if ($minutes <= 0) {
            $this->setHeader('Cache-Control', 'private, no-cache, no-store, must-revalidate');
            $this->setHeader('Expires', '-1');
            $this->setHeader('Pragma', 'no-cache');
        } else {
            $this->setHeader('Expires', gmdate('D, d M Y H:i:s', time() + $minutes * 60) . ' GMT', true);
            $this->setHeader('Cache-Control', 'max-age=' . $minutes * 60, true);
            $this->setHeader('Pragma', 'public', true);
        }
    }