Enforce the use of DownloadService to create new DownloadController instaces, but give access to the existing instances to anyone.
This is needed to protect the instantiation of DownloadController, which will be done with a follow-up change.
Compare the previously downloaded updates list with the current one and check if the old list includes all the updates of the new list. If the network is not available at the time of the check, a new check is scheduled.