We currently provide a waitFor() method that accepts a closure and executes the closure at a given interval for a number of seconds, waiting for it to pass (i.e. return a true value and not throw an exception.
The problem with this is that if the closure doesn't pass we don't have any information on why in the exception. What would be nice is to turn each "statement" into an implicit assertion (i.e. add "assert" to the statement) so we can get nice output.