I also really like this idea of being able to dynamically change the terrain state of a tile. In terms of multiple states, I think if there's some way to designate a "priority" number of each state, then the highest priority state could always takes over. Or even better, if you allow some kind of note-syntax or similar that allows someone to assign an "end result" state based on combinations of other states ("fire" + "ice" = "water"). It'd be nice if there was some built in support for making those a + b = c or a + c + d = w kinds of assignments.