I'm not super happy with having unique closures for these methods of every instance of Task. Can we avoid it?