People keep using WrapRunnable in all sorts of places, or re-inventing NS_NewRunnableMethod*; we should just extend NS_NewRunnableMethod appropriately. This might also help get rid of some of the post-to-chromium-message-loop bits that people keep writing. I have a refactoring of WrapRunnable lying around; I need to go through it again and make sure that all the C++ template magic is sufficiently magical.
I very much want the template instantiation to be explicit, not implicit. See bug 622728 comment 5 and comment 21-24. Implicit potentially non-owning types are a footgun.