override public void Deactivate() { if (state != States.Inactive) { // Make sure VirutalKeyboard is also shut down. VirtualKeyboard.Deactivate(); // Do stack handling here. If we do it in the update object we have no // clue which order things get pushed and popped and madness ensues. CommandStack.Pop(commandMap); state = States.Inactive; HelpOverlay.Pop(); updateObj.Deactivate(); } }