public static function load(Persister $persister) : self
    {
        $learner = $persister->load();

        if (!$learner instanceof Learner) {
            throw new InvalidArgumentException('Peristable must be a'
                . ' learner.');
        }

        return new self($learner, $persister);
    }