Cleanup and improvements to CPController (2nd version)

This is a modified version of my earlier changes -- preserving the existing code fragment for newer style matching (to be done in the future), as per Dustin's earlier note to me.