It seemed important that the encode-to-url/decode-from-url logic be together. Previously encoding logic was in ScriptRequest and decoding was in WorkspaceUrlConnection which wasn't easy to follow. There doesn't seem to be a good OO way to encapsulate this.