<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reset(self):
 """ Stop timer and execute ``on_reset`` if overflow occured. """

        if self.state is not TimerState.stopped:
            if self.on_reset and self.state is TimerState.overflow:
                if callable(self.on_reset):
                    self.on_reset()
                else:
                    execute(self.on_reset)
            self.state = TimerState.stopped