private function curl()
    {
        if (!($this->curl instanceof cURL)) {
            $this->curl = new cURL();
        }

        if ($this->hasAuth()) {
            $this->curl->setCredentials($this->user, $this->pass);
        }

        if ($this->cookie && is_writeable(dirname($this->cookie))) {
            $this->curl->setCookieStorage($this->cookie);
        }

        return $this->curl->setTimeout($this->timeout);
    }