Add CMSignals to encapsulate the workflow

CMSignals is a singleton class that has every method to
connect,disconnect and emit