Split of implementation to functions, and call these in the __call__ function.
As a result, the CorrectGain and CombineHalves classes are almost empty shells.
It may now be more logical and easy to define these inside the pipeline.