private static int Main(string[] args)
        {
            GlobalContext.Properties["applicationName"] = "UberDeployer.ConsoleApp";
            XmlConfigurator.Configure();

            TextWriter outputWriter = Console.Out;

            try
            {
                Bootstraper.Bootstrap();

                var commandDispatcher = new CommandDispatcher(outputWriter);

                commandDispatcher.DiscoverCommands(Assembly.GetExecutingAssembly());

                if (args.Length == 0)
                {
                    commandDispatcher.DisplayAvailableCommands();

                    return(1);
                }

                return(commandDispatcher.Dispatch(args));
            }
            catch (Exception exc)
            {
                outputWriter.WriteLine(exc);

                return(1);
            }
        }