public function remove($candidate)
    {
        $hash = $this->objectHash($candidate);

        $this->candidates = array_filter($this->candidates, function ($known) use ($hash) {
            return $this->objectHash($known) != $hash;
        });

        if (isset($this->candidateIds[$hash])) {
            unset($this->candidateIds[$hash]);
        }

        return $this;
    }