public function start_question($slot, $variant = null, $timenow = null) {
        if (is_null($variant)) {
            $variant = rand(1, $this->get_num_variants($slot));
        }

        $qa = $this->get_question_attempt($slot);
        $qa->start($this->preferredbehaviour, $variant, array(), $timenow);
        $this->observer->notify_attempt_modified($qa);
    }