Printing in Python CLI modules

I’m developing an extension to run some FreeSurfer commands inside Slicer. Python CLI modules seem perfect because all I need is a GUI for running existing external commands. So far I have the SynthStrip command implemented and it works very well. The only issue is there is no way to know what is happening while the module is running, which for some commands might take several minutes or longer. As far as I understand, a scripted module would block the GUI, which would not be a good trade-off I think.