Don't use [NSRunLoop runMode...] to do work on the main thread.
This handles any incoming events from the UI, but it doesn't
take new work that has been dispatched using dispatch_get_main_queue.

Instead, use dispatchAsyncMainThreadWithDelay to allow new work to
come through the thread and still keep checking back for the result
for the future.
Merge branch 'master' of github.com:tipbit/tidbits