when() to waits for the conditional to be ready.
reorganized new methods to provide a patch function.