Adds the ability to yield the procedure every execution step.
by default, a procedure will try to go begin to end without stopping.
This allows procedures to be nice to other procedures.
one usage example is ServerShutdownHandler where we want everyone to make some progress.
Allows procedure to throw InterruptedException, the default handling will be:
"ask the master if there is an abort of stop. If there is, stop executions and exit. Else, clear the IE and carryon executing. the interruted procedure will retry".
If the procedure implementor wants a different behavior, the IE can be catched and custom handling can be performed.