I wonder if C2 could rename variable references when their scope changes.
e.g. you have a bunch of global constants and decide to move them into a group. The events that use them are removed (but luckily restored if you change the scope back as I found out).