Well, let me explain why I think that leaving it inside first 'then' will be better: IMO every 'then' callback defines next step in the program flow that can be logically separated from the previous one. In this case I believe we have one single logical step - 'what to do with draft when user tries to exit editor' - we have basically three options here: 'automatically discard' OR 'automatically save' OR 'ask user what to do exactly'. If we move third 'OR' to a separate 'then' (next logical step) as you suggest we kind of say 'check if we can automatically save OR discard AND THEN ask user what to do'. Does it make sense for you?