public function create($transport)
    {
        if (is_string($transport)) {
            $transport = $this->registry->getTransport($transport);
        }

        if (!$transport instanceof TransportInterface) {
            throw new \InvalidArgumentException('transport should a string or a TransportInterface');
        }

        // If MonologExtension loaded, we inject its logger in Jobflow
        if (null !== ($extension = $this->registry->getExtension('Rezzza\Jobflow\Extension\Monolog\MonologExtension'))) {
            $this->logger = $extension->getLogger();
        }

        return new Jobflow(
            $transport,
            $this->jobFactory,
            new JobMessageFactory,
            new JobContextFactory,
            new ExecutionContextFactory,
            null,
            $this->logger
        );
    }