You want to minimize those things that are global because:
It reduces the number of "things" to peruse.
It makes you consider what parts should be used by reference.
You need a sufficient number of things global because:
It is your only way to allow extension.
This is what people use!