Solution

Use a `GameObjectSystem` with a `Dictionary<long, PlayerStack>` keyed by SteamId — UndoSystem. Tension: Cap each stack at 128 entries (remove oldest on overflow). Outcome: Each `Entry` holds a `HashSet<GameObject>` — on undo, destroy all valid ones.

37b62434-b8f1-45de-9fe4-8e7e077f43cd

Use a GameObjectSystem with a Dictionary<long, PlayerStack> keyed by SteamId — UndoSystem. Tension: Cap each stack at 128 entries (remove oldest on overflow). Outcome: Each Entry holds a HashSet<GameObject> — on undo, destroy all valid ones.