
I've put together a handful of commands using the API that I think could be pretty helpful. It is based off my original !reveal command, but with the addition of the !alter command and the !save_snapshot functionality I thought it was worth a new post. Hopefully that isn't too against the forum rules, but the functionality is expanded quite a bit and no longer matches the old topic.
How to use:
1. Name some tokens with ".foo" somewhere in the name. This tells the script that this object can be modified by talking about "foo".
2. Arrange and otherwise modify your tokens.
3. Enter the command: !save_snapshot snap1 foo
4. This will create a new snapshot named "snap1" for each "foo" object.
5. Make some more changes, then: !save_snapshot snap2 foo
6. !load_snapshot snap1 foo
7. !load_snapshot snap2 foo
There is also a command for modifying objects in bulk by class: !alter foo > {layer:"gmlayer"}
https://gist.github.com/rlittlefield/5516481
Edit: I should note that until the "state" object persists, you will not be able to load snapshots from previous sessions. I know this limits the usefulness of the script, but hopefully they will add that soon.