You could also use a dictionary held in the top-level of a project script. You can search on the forum about using system.util.getGlobals()
for such a thing.
I should mention that the work-around shown above should NOT be placed in all of your project library scripts. It solves the multiple execution problem but at the risk of AB-BA deadlock across interdependent scripts. Some thoughts:
Definitions of simple functions and simple assignments to top-level constants do not need this fix. While multiple executions will repeatedly replace top level objects, the replacements are identical to the first pass--no harm, no foul.
Definitions of top-lev…