What guides the choice of putting things in one place or another.
For 5E, there are many maps/arrays defined "globally" outside of a function. This is followed by an "onInit()" method where other maps are defined but one thing they all have in common is a call to "Interface.getString("XXXX")" - Not sure why they would be separated as not sure when "onInit()" would be called for a file vs control "scope"?
For the AD&D Core, Celestian adds variables empty declares outside of onInit() then onInit() populates the maps vs trying to declare nested maps in one "=" assignment? Is that the only reason to have the empty declare then onInit() splitup?
Just hit adding my own data lookups and wanted to know how to design what goes where :)