'Handler for getting events.'

def _step(self, *args):

    still_going = Animation._step(self, *args)
    if ((not still_going) and self.repeat):
        self._init_draw()
        self.frame_seq = self.new_frame_seq()
        if self._repeat_delay:
            self.event_source.remove_callback(self._step)
            self.event_source.add_callback(self._loop_delay)
            self.event_source.interval = self._repeat_delay
            return True
        else:
            return Animation._step(self, *args)
    else:
        return still_going
