Menu getMenuFromNode(XmlNode menuNode)
        {
            Menu menu = new Menu(menuNode.Attributes["background"].InnerText, bool.Parse(menuNode.Attributes["canGoBack"].InnerText), game, menuNode.Attributes["initialChoice"].InnerText);
            ControllerFactory controllerFactory = new ControllerFactory(menu, game, megaman);

            foreach (XmlNode configItemNode in menuNode.ChildNodes)
            {
                if (configItemNode.Name == "choice")
                {
                    MenuChoice menuChoice = getMenuChoiceFromNode(configItemNode);

                    menu.AddSprite(menuChoice);
                    menu.AddChoice(menuChoice);

                } else if (configItemNode.Name == "text")
                {
                    menu.AddSprite(getMenuTextFromNode(configItemNode));
                }
            }

            menu.AddController(controllerFactory.GetKeyboardController());
            menu.AddController(controllerFactory.GetGamePadController());

            return menu;
        }