Add fail_func parameter to wait_for()