/**
  * @return \RayRutjes\DomainFoundation\UnitOfWork\SaveAggregateCallback\SaveAggregateCallback
  */
 private function createSaveAggregateCallback()
 {
     if (null === $this->saveAggregateCallbackFactory) {
         throw new \LogicException('No save aggregate callback factory has been set.');
     }
     return $this->saveAggregateCallbackFactory->create();
 }
 public function let(UnitOfWork $unitOfWork, Contract $aggregateRootType, EventStore $eventStore, EventBus $eventBus, AggregateRootFactory $aggregateRootFactory, SaveAggregateCallbackFactory $saveAggregateCallbackFactory, SaveAggregateCallback $saveAggregateCallback)
 {
     $this->beConstructedWith($unitOfWork, $aggregateRootType, $eventStore, $eventBus, $aggregateRootFactory);
     $aggregateRootType->className()->willReturn('RayRutjes\\DomainFoundation\\Domain\\AggregateRoot\\AggregateRoot');
     $saveAggregateCallbackFactory->create()->willReturn($saveAggregateCallback);
 }