I wonder if simply using a standard `setTimeout` with a bound function wouldn't be enough here?