Creates a new context and sets it as the current context. Returns the newly created context.
See Implementation