static async Task <int> Main(string[] args) { var output = new OutputModel(new ShortFormat()); var tasks = new List <Task> { GetOutputForProcessAsync("docker", "version") .ToObject <DockerVersion, DirtyDockerVersionSerialiser>() .UpdateAsync(output), GetOutputForProcessAsync("kubectl", "version") .ToObject <KubernetesVersion, KubernetesVersionSerialiser>() .UpdateAsync(output), GetChartVersionsAsync().UpdateAsync(output) }; await output.UpdateAsync(tasks); Console.WriteLine(output); Console.ReadLine(); return(0); }