Added a requirement that there MUST be a RunLoop when using runLoopWait