New TowerDefense solution with GameState classes