The one problem I see that the URL is gonna get either looonnnggg or really delicate as we found out.
Another idea or approach to consider would be
* Use JSON and localstorage in the browser
* Everytime value changes - generate a HASH of the JSON in localstorage as the unique ID part of the URL
* When loaded from a URL with a HASH decode the hash back to JSON and update localStorage or something similar to that effect
* As looks like you have alot of code working and manipulating that URL which seems delicate
I think I have some time next week to hack and collab on this project as I think its ACE