This is not yet closed but implemented successfully.
TODOs:
self.bestestimator is no more initialized in the constructor as the property does not allow that.
Should we add a flag to just keep the results of the final optimization step? This would make the object smaller but we cannot check plausibility of previous optimization steps.
Add a BaseSearch as a guided optimzation tool. Thanks to @nullpunktTUD for recommendation