Handling context switching is the responsibility of `KeyShortcutPresenter` - all the other places just tell that class that it should activate or deactivate a context that they own. This is different - this class is taking over some context handling responsibility that it shouldn't be touching, and it is easy to imagine bugs happening if other context acitvation/deactivation happens while a modal dialog is open. To avoid bugs, and to make sure people aren't forced to understand the internals of `KeyShortcutPresenter` when they are reading the code in this class, I really think it would be better to move this logic into `KeyShortcutPresenter`.