Sure we could throw directly after the invoke.

Thanks for making me reread the code and comments in `processAllSystemMessages`. It relies, as you pointed out, on `systemInvoke` throwing InterruptedException, which it no longer does. Will fix.