An interface to a context stack for the API to run against.
Returns the current context (one at the top of the context stack).
A context manager that temporarily installs a new context on the stack.
The installed context is placed at the top on the stack while in the context
manager's scope, and remove from the stack upon exiting the scope. This
method should only be used by the implementation code, and by the unit tests
for dependency injection.
The context to temporarily install at the top of the context stack,
an instance of
Context defined in
The installed context.