Change controllers to track part sets instead of coord sets

This is, really, more correct. It also prevents all problems with
double-added coordinates, I think.
Fix bad formatting string in warning message, which causes crashes