Restructure to allow things like manual checking. 

Code like this should be possible.

```js
var check = condition.wait(cond, clbk, false);
check();                   // checks once; if cond returns true, every further call to check() will have no effect
check.startWatching();     // actually this just calls check() repeatedly
check.stopWatching();
```

Maybe have some kind of ticker inside of condition that you can add/remove functions from.