Guard against crashes when IStatus object gets destroyed at bad times
When we connect to a signal using QueuedConnection and that signal
carries its context object as argument, then the signal may be
delivered after the object itself was deleted. This happened in the
cmakemanager test for example.
To prevent this, we don't use the QueueudConnection directly but
roll our own based on QTimer::singleShot(0, ...). This allows us
to capture the context object explicitly and then check that before
trying to access it.