i see a difference in those two:
in an environment where you have code from different sources (like roxen modules) master()->resolv("Mirar's globals"); would be something that is accessible to any module (ie truly global) that is often something that should be avoided.
however when working with nested classes, you already get a very selfcontained outer class. and while i agree that it may clutter the namespace of the outer class, it does not produce a situation where the variable is accessible by just anybody, because the classes are selfcontained.
it is quite a difference having to put a variable in the right scope to make it work, vs having to write a chunk of code and void any protection or write more code to get that protection.
greetings, martin.