this makes me feel like we don't really understand the bug, which makes any fix sort of dangerous... does someone else set isContentsDirty(true) somewhere in between here and when the timeout fires or something? who and why?