Both the "global aa" and aaClass have a dual use, with very little overlap between the uses.
The first use is to provide information (from the combined .json file and .git info).
The second use is to have the paths set, and have a way to check whether they indeed have been set.
By separating the first use into a dedicated function (with a local persistent variable to hold the info, so the file processing only has to be done once), it can be made much easier to evaluate whether the second use is done correctly.