We can use Effection context API for everything "global" to make it not global. things like `DocumentResolver` can be `DocumentContext`