class_docstr: Callback that saves the trial model.
  
  .. seealso::
      :class:`BaseCallback`,
      :class:`~neuraxle.metaopt.auto_ml.AutoML`,
      :class:`~neuraxle.metaopt.auto_ml.Trainer`,
code: def call(
      self,
      trial_split: TrialSplit,
      dact_train: EvalEOTDACT,
      dact_valid: EvalEOTDACT,
      is_finished_and_fitted: bool = False,
  ) -> bool:
      # TODO: maybe the trial split could contain the model again. This would imply that the trainer would let the trial split train itself. This is a bit weird, still.
      trial_split.save_model(self.label)
      return False
  
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 2 for calling the StepSaverCallback obj's underlying member method code with example usage: obj.call(trial_split, dact_train, dact_valid, is_finished_and_fitted) and returns: False