public void ShowMenu()
        {
            IDialogView dialogView = uiFactory.CreateDialogView();

            dialogView.ShowMessage("MENU");
            IMenuView     menuView  = uiFactory.CreateMenuView();
            List <string> menuItems = commands.Keys.ToList();

            menuItems.Add("Exit");

            while (true)
            {
                string result       = menuView.ShowMenu(menuItems);
                int    parsedResult = -1;
                if (int.TryParse(result, out parsedResult))
                {
                    if (parsedResult <= commands.Count)
                    {
                        commandProcessor.Execute(commands.Values.ToList().ElementAt(parsedResult - 1));
                    }
                    else if (parsedResult == commands.Count + 1)
                    {
                        dialogView.ShowMessage("Exiting");
                        return;
                    }
                    else
                    {
                        dialogView.ShowMessage("No such menu item");
                    }
                }
            }
        }