static void Main(string[] args) { _argumentGetter = new ArgumentGetter(args); _localManifest = LoadLocalManifest(); PrintWelcomeText(); CheckForUpdate(); var progressContext = new ProgressContext(new ConsoleProgressOutput(14)); var dialogManager = new ConsoleDialogManager(_argumentGetter, progressContext); var logger = new LoggerConfiguration().WriteTo.Console().CreateLogger(); var pluginManager = new PluginManager("plugins") { DialogManager = dialogManager, Progress = progressContext, Logger = logger }; pluginManager.OnManualSelection += PluginManager_OnManualSelection; PrintUnloadedPlugins(pluginManager.LoadErrors); IContext context = new MainContext(pluginManager, progressContext); while (context != null) { context.PrintCommands(); context = context.ExecuteNext(_argumentGetter).Result; } }