internal static async Task Run( IProgramArguments programArguments, IChannelManager channelManager) { var producers = channelManager.ProduceAsync(programArguments.GetInputData); var consumers = channelManager.ConsumeAsync(); var result = await channelManager.GetResultAsync(producers, consumers); programArguments.GetDataStore.Store(result); Console.WriteLine($"Done: Files written to {programArguments.GetDataStore.StoreLocation}"); }