I've been tinkering with the development of a BackgroundWorker knock off that supports queued semantics for its RunWorkerAsync method (the BackgroundWorker, like System.Net.WebClient, only supports a single async operation at a time). A QueuedBackgroundWorker...