Can register conditions in which the running loop continues/stops

Test cases can register post conditions that will have to be all
satisfied at the end of the loop, and breaking conditions that are to
exit the running loop. If all of the post conditions are true or any of
the breaking conditions is true, the running loop stops.
To avoid infinite loop, timeout are registered as a breaking condition
before the loop starts running.