If you make it a modal, the gui being single threaded shouldn’t be an issue, I think ?
Or is there something else that gets blocked and that must keep running ?
I’m guessing you could use messages to make a more generic version of an action
popup, with the message handler configured on the button/whatever opens the popup, and passing it the message handler’s name as parameter… Then you can have two buttons on that popup, one that closes it and the other one that sends the message.