I'm just wondering why you only dispatch when pause is True? Shouldn't you dispatch even when pause is set to False? You might also want to change to `self.dispatch('on_pause', widget, pause)`.