Calling a private method (`_abort`) isn't good, this whole "abort with value of okbutton" code should probably be hidden inside the `Dialog` class, that kind of internal knowledge should not appear in real dialogs.

Perhaps add a new method to Dialog like `trigger_close(OkButton.DEFAULT_NAME)`.