It would be nice to have this abstracted into the `updates` app common code (ability to cancel)--would also get language packs closer to having a cancel option.

Don't have to do it now, but seems like a good time to do it.  This code is confusing, and having two copies of it just makes it that much harder to maintain.

At the very least, please edit the the code to be appropriate for software updates (as in, change the comments! :) )