Proposal refactore settings to show the scope of a setting

This PR is a proposal for discussion. I would like to refactor settings so that it is obvious within which scope a setting is visible. This PR is not complete. It should only show the approach for discussion. Also this PR has a great potential for breaking things.
Should probably a bang method, `reset_global!` or maybe just add it to test code via a monkey patch.