private void Awake()
    {
        S     = this;
        Score = 10000;
        TileInhabitantObjectHolder      = new GameObject().transform;
        TileInhabitantObjectHolder.name = "TileInhabitantObjectHolder";
        boardPrefab = Instantiate(boardPrefab);
        boardPrefab.Initialize(level);
        Board = new Board(boardPrefab.NumRows, boardPrefab.NumCols, boardPrefab.tilePrefab, boardPrefab.transform);
        //boardPrefab.PopulateBoard();

        Player = new Player(_playerObject);
        if (Board == null || Player == null)
        {
            throw new System.Exception("Failed to initialize GameManager");
        }
        CurrentState = GameState.Running;
        StartCoroutine(TurnTakerRoutine());
    }