Rework the ChangeRecorder to follow client-links