I should be able to create dependent Properties (at least for Choices)

(User Story, Closed -> Fixed, Priority: Critical, Test Status: No automated tests yet , Reported By Bad Link: Thing 3y285jl not found, )
Summary:
Anna needs this for her Sept space, and we probably want it also for the Arisia Volunteers Space.
The high concept (as I understand it) is that we have some problems that are essentially a tree of choices. The Arisia example is an easy one to understand: first you choose a Division, then within that an Area.
So initially, the Area drop-down should be disabled, saying that you have to select from the Division drop-down first. After you select a Division, the Area drop-down populates with the Areas under that Division.
It's tempting to treat this as a simple hierarchy (the way that I've thought of hierarchical Tags for inventory management), but that may be over-simplistic. A single "parent" Property might have any number of "child" Properties driven by it. And a single "child" might be active for multiple "parents". So at least conceptually, this is a graph from parents to children that activate under them.
The creation UI for this probably depends on getting the Choice Wizard working. In that, we would add a meta-Property "Depends Upon Choice". In the child Choice Wizard, you would choose the parent Property. It would then display a drop-down, letting you select a parent value and then edit the child values that correspond to that specific parent.
It's not at all obvious what this looks like from a data POV. Heretofore, the notion of a Choice is mostly driven by the choice's Model -- it knows what its Instances are, what order they naturally belong in, and so on. But that probably doesn't make sense in this "dependent" approach -- the Property itself may need to contain its dependencies, and maybe even the ordering, since the desireable order could conceivably be different depending on the dependency. (Although that may be more over-complex than I'm willing to cope with.)
This might imply a radical redesign of Choices, to make this possible, with the choice-order information stored as meta-info on the Property. And at that point, we have to ask whether Choices should be rethought as Tags instead, rather than constrained to the Thing/Instance approach. (We should still allow Thing/Instance -- for example, it makes all the sense in the world for Area to be a Model, with Instances for each Area, containing the Area Head, a description of what it does, etc. But it might not be the default for simpler cases.)
Just to make this more complex: at least in principle, we would like to be able to have the choices for Thing A depend on Thing B. For example, if a Player were to make a choice, it might affect the options available in the corresponding Character's page. Or a Character's chosen Class might affect the Items available to them; etc. This is probably a lot of extra design and work -- it involves enhancing this system to work indirectly through Thing/Tag pointers -- so it would have to seriously fight for its life, but it's worth thinking about.
Does this apply to Types other than Choice? There's no obvious way in which a Text or Number or Date field might be "dependent", but it's worth pondering, while we're at it.