Suspends execution until state changes via ::Wait.until! methods, timing-out after a configured period of time
Matthew Ueckerman
MIT