public void Restart()
        {
            Board.Clear();
            Score.ResetScore();
            Renderer.Init(Board.Size, Board.Slots);
            Start();

            State = GameState.IN_PROGRESS;
        }
        public GameManager(IGameRenderer renderer)
        {
            Random = new Random();

            Board = new GameBoard(4);
            Board.BoardSlotChanged += OnBoardSlotChanged;

            Renderer = renderer;
            Renderer.Init(Board.Size, Board.Slots);

            Score = new Scoreboard();
            Score.ScoreChanged += OnScoreChanged;

            State = GameState.IN_PROGRESS;
        }