The asymmetry here bugs me a bit. We update the status when the liveDocument tells us it's changed, but we assume that we need to clear the status whenever the editor changes. It might be the case that for other kinds of liveDocuments, we don't need to do this on every change event.

Would it make sense to have the liveDocument broadcast `beforeStatusChange`? I guess the danger there is that in the case where it is on a change event, we're introducing an extra event dispatch into the typing loop...but I suspect that's probably dwarfed by all the other processing we're doing anyway.