Use the IDRemapper to boost the performance of remapping referenced data.
In order to do this cleanly we will first introduce a enum type that contains the ID remap type that is being performed.
(Cleanup vs Remap)
The cleanup cannot be stored in the structure we have and should still be done one item at a time.
The remap can be done multiple items at a time and use the IDRemapper structure.