Here's a very interesting comment from Bob Scheifler:
Over the years we've been slowly eliminating use of Task.runAfter, and in any overhaul I'd prefer to finish that job rather than perpetuate it. I have in a past life been a fan of deadline scheduling. Any thoughts? Cheers, Peter.