Nit picking, but I'm not a big fan of your naming here since ``task`` isn't really a ``Task``, but rather a ``TaskRunner``.  Since it is being used in close proximity, a simple ``t`` or ``tr`` would be preferable to the somewhat misleading ``task``.