Wie wär's damit:
Aktion in eine Klasse packen. Die Klasse instanziieren und mit allen nötigen Daten versorgen. Anschließend das Wait-Form via showModal aufrufen und dort mit der Klasse die eigentliche Funtkion ausführen. Wenn die fertig ist das Form wieder zu machen.
Kann man so ausbauen, dass es eine Art Pseudo-Thread ist. Also beispielsweise mit einer festen run() Methode und Events, an denen man den Fortschritt einer Progressbar festmachen kann.
Gelobt sei
OOP