This simplifies function entry/exit and lets us just walk away from the used ExecutionContext instead of resetting a bunch of its state when returning control to the caller.