somehow it would feel cleaner to track UUIDs here rather than paths, but it would make the code more complicated in the UoW