The current download infrastructure is entangled in a variety of classes, which makes it a headache to maintain, prone to deadlocking and a lackluster in performance. To illustrate, here is a quick overview: Main Thread The main (application) thread creates a background thread for WorkerThreadFunc(), which is also re-started as required (if the thread exists). Worker Thread WorldWindow.WorkerThrea