Cache directories and modules in view, so we don't repeatedly trigger Directory Watcher updates when prefs change