public function createStatement(): Statement
    {
        if (null === $this->actor) {
            throw new InvalidStateException('A statement actor is missing.');
        }

        if (null === $this->verb) {
            throw new InvalidStateException('A statement verb is missing.');
        }

        if (null === $this->object) {
            throw new InvalidStateException('A statement object is missing.');
        }

        return new Statement($this->id, $this->actor, $this->verb, $this->object, $this->result, $this->authority, $this->created, $this->stored, $this->context);
    }