public async Task Execute(Arguments arguments) { //var processor = new PhotoFileProcessor((arguments.Log ? new TextLogger() : promptToConfirm ? (ILogger)new Logger() : new EmptyLogger())); var files = await _processor.GetFiles(arguments.Directory, arguments.Recursive); if (arguments.Command == "group") { files = await HandleConfirm(files.GroupBy(x => x.Date.ToString(arguments.Format)), arguments); } else if (arguments.Command == "ungroup") { files = await HandleConfirm(files.UnGroup(), arguments); } else if (arguments.Command == "list") { await ListFiles(files, arguments); } }