static void Main(string[] args)
        {
            Console.WriteLine("Tic Tac Toe");

            var board = CreateGameBoard();

            ConsoleGameBoardRenderer.RenderBoard(board);

            SetupPlayers(board);
            ConsoleGameBoardRenderer.RenderBoard(board);

            Console.WriteLine("Press ENTER to begin");
            Console.ReadLine();

            GameLoop(board);
        }
        public static void GameLoop(GameBoard board)
        {
            while (true)
            {
                for (var p = 0; p < board.Players.Count; p++)
                {
                    var player = board.Players[p];
                    PlayerMove(board, player);
                }
                ConsoleGameBoardRenderer.RenderBoard(board);

                Console.WriteLine("Quit? (y | n)");
                var key = Console.ReadKey();
                if (key.KeyChar.ToString().ToLower() == "y")
                {
                    break; //some way to exit the game other than closing window.
                }
            }
        }
        public static void PlayerMove(GameBoard board, Player player)
        {
            while (true)
            {
                ConsoleGameBoardRenderer.RenderBoard(board);
                Console.WriteLine(string.Format("{0}'s turn", player.Name));

                var row = PromptInteger("Enter row:");
                var col = PromptInteger("Enter col:");

                if (board.Move(player, row, col))
                {
                    break;
                }

                Console.WriteLine();
                Console.WriteLine(board.Message);
                Console.WriteLine("press ENTER to continue");
                Console.ReadLine();
            }
        }