NMCC: Constraint Enforcement and Retraction in CC Programming