Rename notification_requested to refresh, and emit queue_empty rather than queue_run_finished - we don't care if the queue run has finished and we are not empty, but we *do* care if we have become empty by some other method (purge, TTL).