<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _listen_commands(self):
 """Monitor new updates and send them further to self._respond_commands, where bot actions are decided. """


        self._last_update = None
        update_body = {'timeout': 2}

        while True:
            latest = self._last_update
            # increase offset to filter out older updates
            update_body.update({'offset': latest + 1} if latest else {})
            update_resp = self.client.get_updates(update_body)
            update_resp.add_done_callback(self._respond_commands)
            yield gen.sleep(5)