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

Refs #16263
I'll clean it up.