I stopped using onStart and instead use a custom component to house all my variables.
For example:
> Create a custom Component: "_variables",
> Allow that component to access the Apps scope,
> Add a custom -input type- property to _variables.
> make this a Boolean object
> name this input whatever you want your variable to be called.
> Give this variable a default value: Blank()
> Be sure to select the OnReset checkbox
you can now add this component to each screen and use the OnVisible and OnHidden properties of each screen to adjust your variables as needed.
> you can go a step further and add Screen Inputs/Outputs to the _variables custom properties.
this then allows you to create a "Variables" Screen that contains a sort of "Global" variable table.
It is here, on the Variables Screen that you can do some real magic with "global" references