def observe_root_state_assignments(self, model, prop_name, info):
        """ The method relieves observed root_state models and observes newly assigned root_state models.
        """
        if info['old']:
            self.relieve_model(info['old'])
        if info['new']:
            self.observe_model(info['new'])
            self.logger.info("Exchange observed old root_state model with newly assigned one. sm_id: {}"
                             "".format(info['new'].state.parent.state_machine_id))