Implement Factory Pattern @ Surrogate Model
In main of run_inversion in case the surrogate model is used, use a factory pattern to return the right type of Surrogate (Random Forest, Rational, Spline, etc) to assure that the functions of the Subclass are used instead of the functions of the Surrogate1D class.