That doesn’t answer the question, but unless you are declaring the mappings in your WireBox config as .asSingleton() I’ll assume they are transient. i.e. if you inject menu into two different handlers, each handler has a separate instance of the menu object.
No matter, that was really just a side question.
Did you try calling Permissions.qUserLevel() directly from a test page somewhere?
Also, you could try catch the error, and dump/abort out the instance/variables scope to see what exists at the time that it is erroring.