Reworked DelegableTask into Task, and made it more generally useful;
it's now more of an AbstractRunnable than a
RunnableThatTriesToRunOnASeparateThreadButCanBeReattemptedOnMainThreadIfItFails.