At no point do we attach listeners directly anywhere in Caret (well, almost anywhere), because that's definitely asking for leaks the way we currently re-render chunks of the application. This should be handled via delegation. See also the note below for `attachImagePreviewTooltip`.