OK, the async version would look something like [this](https://github.com/EFForg/https-everywhere/commit/02ad1a1510aeaefd0ec5c377b911d2bd275cd9fe), though that's untested.  I'm inclined to just merge this branch without the async acrobatics for now.