I've been working with permalinks at TOPP, and I've made some changes to the permalink control in order to support custom permalinking.
The highlights:
1) Made the required arg parser class configurable, to allow for custom arg parsers.
2) Decoupled the setting of the link (this.element.href = "...") from creating the url. This way, custom controls/applications can easily poll the permalink control for the link without having to know the idiosyncrasies of the DOM element used to store the value.
I've attached a patch with our changes.