class_docstr: Callback list that be executed.
  
  .. seealso::
      :class:`~neuraxle.metaopt.auto_ml.AutoML`,
      :class:`~neuraxle.metaopt.auto_ml.Trainer`,
      :class:`BaseCallback`,
code: def call(
      self,
      trial_split: TrialSplit,
      dact_train: EvalEOTDACT,
      dact_valid: EvalEOTDACT,
      is_finished_and_fitted: bool = False,
  ) -> bool:
      for callback in self.callbacks:
          try:
              if callback.call(
                  trial_split=trial_split,
                  dact_train=dact_train,
                  dact_valid=dact_valid,
                  is_finished_and_fitted=is_finished_and_fitted,
              ):
                  is_finished_and_fitted = True
          except Exception as e:
              trial_split.context.flow.log_error(e)
              raise e
  
      return is_finished_and_fitted
  
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 3 for calling the CallbackList obj's underlying member method code with example usage: obj.call(trial_split, dact_train, dact_valid, is_finished_and_fitted) and returns: is_finished_and_fitted