public function withdraw()
    {
        $this->withdrawn = $this->endedEarly = true;

        $now = time();

        if ($this->endDate > $now) {
            $this->endDate = $now;
        }

        $this->save();
    }