Aktualizacja GWT MVP Stan aktywności przy zmianie miejsca

Jaka jest najlepsza praktyka, aby zaktualizować stan aktywności podczas zmiany miejsca? Wyobraź sobie, że masz aktywność z widokiem, która wyświetla listę kategorii i listę elementów w kategorii. Jeśli wybrana jest inna kategoria, aplikacja przechodzi do nowego miejsca z identyfikatorem kategorii. Chcę wtedy tylko odświeżyć elementy, a nie tworzyć nową aktywność, która również ponownie odczytuje listę kategorii.

Moje obecne podejście jest takie:

public class AppActivityMapper implements ActivityMapper {

    private ItemListActivity itemListActivity;

    ...

    public Activity getActivity(final Place place) {
        final Activity activity;

        if (place instanceof ItemListPlace) {
            if (itemListActivity == null) {
                itemListActivity = new ItemListActivity((ItemListPlace) place, clientFactory);
            } else {
                itemListActivity.refresh((ItemListPlace) place);
            }
            activity = itemListActivity;
        } else {
            itemListActivity = null;
        }

        ...
        return activity;
    }

    ...

questionAnswers(3)

yourAnswerToTheQuestion