I didn't know about `Deferred.repeat_until_finished` when I wrote the code -- this version is way nicer!