<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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))