What does CM stand for? Also can you recommend some CMs that you've had success with?
Configuration Management - e.g. Puppet, Saltstack, Ansible, Chef; or if you're old school cfengine.
They are good at bringing systems to a known state; but not as good for cleaning systems up.
If not watched carefully, all of the cruft in your /etc directory will be ported to your CM because someone needs it.
The challenges of doing this are less than many claim - the trick is to use a CM so you have a repeatable build process.