ncm-cdispd code cleanup

Work in progress related to #8...

Discussion on cleanup goals is better placed in #8.
out of curiosity, what's the reasoning behind `if you turn an inactive component active, nothing changed`?