pub fn new(
        pool: ConnectionPool<Core>,
        io: Io,
        factory: F,
    ) -> (Self, ConcurrentOutputHandlerFactoryTask<Io>) {
        let state = Arc::new(DashMap::new());
        let task = ConcurrentOutputHandlerFactoryTask {
            pool: pool.clone(),
            io: io.clone(),
            state: state.clone(),
        };
        (
            Self {
                pool,
                state,
                io,
                factory,
            },
            task,
        )
    }
Creates a new concurrent delegator factory using provided Postgres pool, VM runner IO
and underlying output handler factory.

Returns a [`ConcurrentOutputHandlerFactoryTask`] which is supposed to be run by the caller.
core/node/vm_runner/src/output_handler.rs