             let url = self.data!.url
             let expectedMimeType = self.data!.expectedMimeType
 
-            DispatchQueue.global(qos: .utility).async {
-                RemoteDownloadLimiter.wait()
-                defer {
-                    RemoteDownloadLimiter.signal()
-                }
+            RemoteData.queue.async {
 
                 var downloadData : Data?, responseError : NSError?
                 let signal = DispatchSemaphore(value: 0)

}()

@objc public class RemoteData : NSObject {
    public let url : URL
    public let expectedMimeType : String


//

import Foundation

// A URLSession that caches its results
private let RemoteLoadSession: URLSession = {
