A decoupled the decision of what tiles to spawn, and actually spawning them, in the area object. This allows the map to treat each tile separately, running its own reveal logic, which not co-incidentally is now where I do my quest and portal initialization. This allows me to pass the map through the plot object and access the full world stack while I decide what juicy treats should befall our hero.
Embittering this cheerful occasion was the discovery of treasure embedded in the wall of the labyrinth, a bug I thought I’d squashed. 🙁
Fun story: I was trying to check if an inn and shop had spawned too close together, when a spider appeared! Cursing, I retreated though the surrounding desert (it’s nice to keep a character alive while testing), and to my joy the spider perished of exposure in the desert. I’d quite forgot the bottle of water sitting in my item slot, it sure came in handy though! 😉