Because a single external path might get mapped to multiple workspace-based paths, we need to keep separate `RecordingChanges` instances for each workspace. These are dynamically added to the map only when needed.