INotificationOverlay
IDialogOverlay
findValidTarget
SubScreenStack
PerformFromMenuRunner
For better guarantees that `finalAction` is actually called on the same screen that `checkCanComplete()` was (uses result of one `getCurrentScreen()` call throughout instead of calling multiple times).