public static function fromAggregateRootClass(string $aggregateRootClass): AggregateType
    {
        if (! \class_exists($aggregateRootClass)) {
            throw new Exception\InvalidArgumentException(\sprintf('Aggregate root class %s can not be found', $aggregateRootClass));
        }

        $self = new static();
        $self->aggregateType = $aggregateRootClass;

        return $self;
    }