Switch to BackgroundWorker

Here's the promised BackgroundWorker implamentation. Possibly needs some testing (as I've covered only basic scenarios), but on first glance it works.
I've also fixed the Update Url property.