Ashwin is right,
use
MVP Pattern (you could easily ignore ui binder stuff). The "activity" will become the (P)resenter. Make it listen to placeChangeEvents . OnPlaceChange-method extracts the token from the place . Set up / change the view (MVP say that views should be singletons). so your view interface probably has some updateView(partOfToken) method.
To do the same on construction time (if first call of activity is with token - a bookmarked link) u have to give the place the constructor (if u use gin(dependency injection framework) its better to give the place controller) and extract the token in start() method.
Now only one problem persists: i guess in your activity mapper there is code like this
(if place instanceof userViewPlace) return new userViewActivity ?!
To reuse the old activity (that's the "without really going to a place"): return an activity saved in a field in activityMapper like this:
private userViewActivity;
....
if(userViewActivity==null)
...userViewActivity=new ...activity..
else
return userViewActivity;
(you could also try the hard way (but "official") to cache the activity:
LayoutMVP example - good example to learn also MVP)