Add caching for gameNode.board()