function createDispatcher<T>(errorLogger: ErrorLogger) {
    const dispatcher = new Dispatcher<T>();
    const scheduler = new ParallelScheduler<T>();
    return new BulkDispatcher<T>(dispatcher, scheduler, pipelineFactory, errorLogger);
}