Does it make sense to set hadFocus to false? save and restore rather should work as a stack, no? so if we only support one stack level right now, then setting to undefined here (& at initialization) to mark empty stack and checking at begin of startfocus/restorefocus for proper stack state would make more sense, no?