code: def add_and_set_learner(self, learner):
      self.learners += [learner]
      self.learner = learner
      self.best_iter[learner.uid] = None
      self.best_loss[learner.uid] = self.metric.worst_value()
      self.loss_values[learner.uid] = {
          "train": [],
          "validation": [],
          "iters": [],
      }
      self.best_models[learner.uid] = None
      self.best_model_paths[learner.uid] = None
      self.best_y_predicted[learner.uid] = None
  
file_path: mljar-supervised/supervised/callbacks/early_stopping.py
imports: import logging
  import os
  import numpy
  import pandas
  from supervised.callbacks.callback import Callback
  from supervised.utils.config import LOG_LEVEL
  from supervised.utils.metric import Metric
  from supervised.utils.config import mem
label_desc: Use image node_id 2 for calling the EarlyStopping obj's underlying member method code with example usage: obj.add_and_set_learner(learner) without return types