Hi,
We have decided to keep all screens alive continuously to avoid referring to non-existing objects.
Imagine that you have a 2 screens: The first with a button which can hide a slider on the second screen. When the first screen is initialized the button’s event refers to the slider on the second screen. We can prevent it from crashing by NULL checking when screen 2 is not initialized but what if you press the button once to hide the slider and only after that create the second screen. How will you know whether to hide or show the slider?
So it’s assuming all widgets exists at all times is just way simpler.
Regarding the naming we were also thinking about a more clever auto-naming philosophy. My idea is to construct the names like
<screen_name> + <widget_type> + <index>
For example: settings_button_3, about_label_7.
What do you think?