- Use QFuture and QFutureWatcher to spawn threads that do the actual checking of the requirements; collect results and report on them as they come in.
- Move the actual checking into a separate object with some lifecycle- management signals. - Right now this is still single-threaded and blocking, so no net gain.