Unless you do not have a READ EVENTS in your startup program there is no reason to declare your app object's var as PUBLIC. A PRIVATE will work just as well and is not over scoped. My point is that the major problem with PUBLIC is that people use it when they don't need it. Your example does not need a public at all (if it has a READ EVENTS in it).