UiBinder is about generating widget/layout code from XML, it has nothing to do with handling navigation within your app; i.e. instead of writing:
this.textBox = new TextBox();
this.textBox.setText("some text");
this.textBox.addStyleName(cssResource.textbox());
String textBoxPlaceholderId = HTMLPanel.createUniqueId();
HTMLPanel htmlPanel = new HTMLPanel("<label class='" + cssResources.label() + "'>" + SafeHtmlUtils.htmlEscape(myConstants.label()) + " <span id='" + textBoxPlaceholderId + "'></span></label>");
htmlPanel.addAndReplaceElement(textBox, textBoxPlaceholderId);
initWidget(htmlPanel);
you simply write:
<g:HTMLPanel>
<label class="{style.label}"><ui:msg from="{myConstants.label}"/> <g:TextBox ui:field="textBox">some text</g:TextBox></label>
</g:HTMLPanel>
It has really nothing to do with "handing token with history".