Yup, definitely dodgy.  The old code could queue up N delayed actions, but they wouldn't interact and cancel when they run and see the actor is dead.  Adding an `if (this.delay > 0) return;` here will fix this. 