Moved implementation of "constrained smoothing" into each problem type,
to allow for future more genereic post processing steps.