!str #16263 Made subscription timeout handling run mostly inside the actor

Refs #16263
I'll clean this up when I remove the dispatcher.