rework GameState structure into a rose tree