One thing I failed to mention: The function and the method are in different files. This code comprises a suite of modules working together. When writing modules, I normally don't like putting my methods in the same file as my functions. For example, this one particular method that alters the global hash belongs to a base class. And the function that checks the hash is exported by a module. Both the module and the base class are part of the application.