docs: def recursively_register_child_states(self, state):
          """ A function tha registers recursively all child states of a state
          :param state:
          :return:
          """
          self.logger.info("Execution status observer add new state {}".format(state))
          if isinstance(state, ContainerState):
              state.add_observer(self, "add_state",
                                 notify_after_function=self.on_add_state)
              for state in list(state.states.values()):
                  self.recursively_register_child_states(state)
                  state.add_observer(self, "state_execution_status",
                                     notify_after_function=self.on_state_execution_status_changed_after)
  
          if isinstance(state, LibraryState):
              self.recursively_register_child_states(state.state_copy)
              state.add_observer(self, "state_execution_status",
                                 notify_after_function=self.on_state_execution_status_changed_after)