This allows the root context to have a separate place to keep track of the global data that each sub-context can access to, for instance, SourceFile, DiagnosticEngine, etc.