Extension:GuidedTour/API brainstorming

Feel free to brainstorm ideas for improving the API. See 43530.

defineTour Proposal
This looks fairly different from the current version, but the internal mapping would be relatively simple. Basically, the nth step (1-indexed) becomes gt-tourName-n.

Other properties, such as, could be added to the main object passed in.

Yes, JSON object
The code in the above design is just a JSON structure, which is good as it eliminates the risk of executing arbitrary script

It can't be shoe-horned into the Schema namespace on meta-wiki, but a general JSON namespace is possible.

Current
The current version looks like: