That's great, I had some of the same ideas, especially about the attributes but that's always tough trying to decide where to make an element or attribute to control data. I like your reasoning.
One question, though. I want to allow my instructors to use their own wording for the instructions...