Everyone knows about variable scoping in a bloc, a function or a class.

You can have general scoping in general by just extending to any context. For example, in a web-processing context, you may have request-scoped elements (the one usually put in the attributes of the current HttpServletRequest).