I am wondering if there is any non trivial use case for the com.google.gwt.activity.shared.Activity#mayStop method.
- The 
com.google.gwt.place.shared.PlaceController.Delegate#confirmis a blocking one, so you cannot use a differentDelegate, that is using callbacks. I really do not know why this is implemented in a blocking manner because the GWT guys always say that user interactions should be handled asynchronously. - The 
mayStopmethod is always called. Even if theActivityManagerwould return the sameActivityand the UI would not change. So the activity has to check for instance if the user has unsaved changes and if a place change whould really result in discarding the unsaved data. I think this check could be done more easily before callingplaceController.goTo(new Place()). 
What do you think?