I'm slightly confused with the GWT MVP Development with Activities and Places example. It's the first time I approach such a design pattern. I managed to implement it in my project, and to my surprise it actually works. History works, events fire fine, etc.
Since I am following the example exactly, my presenters are disposable Activities that are created each time the user navigates, and the views are kept in a ClientFactory. Everything is separated and clean.
Now I can't wrap my head around the following: In my application the user can select a global option at any time: This fires an event which notifies the current Activity (which is desired). Now I feel a bit silly, but how can I pass the global option object to Activities created after the event fired?
In the example the constructors of Activities receive a Place parameter which can only hold simple Strings (the global options object is not stringyfiable) and the clientFactory. Right now I'm putting the global options in the ClientFactory but that must be (or feels) wrong. Should I maybe place it in the AppActivityMapper, which creates the Activity objects? Am I missing something big here?