class_docstr: Saves the pipeline model in a folder named "best" when the a new best validation score is reached.
  It is important to note that when refit=True, an AutoML loop will overwrite the best model after refitting.
code: def __init__(self):
      IfBestScore.__init__(self, StepSaverCallback("best"))
  
imports: from abc import ABC, abstractmethod
  from typing import Callable, List, Optional
  from neuraxle.base import ExecutionContext
  from neuraxle.data_container import ARG_Y_EXPECTED, ARG_Y_PREDICTD, EvalEOTDACT
  from neuraxle.logging.warnings import warn_deprecated_class
  from neuraxle.metaopt.data.aggregates import MetricResults, TrialSplit
label_desc: Use image node_id 1 to create a new BestModelCheckpoint object from inherited base classes: IfBestScore with example: obj = BestModelCheckpoint()