code: def _call_when_changed(self, ticks, state):
          
          method = self._when_changed()
          if method is None:
              self.when_changed = None
          else:
              method(ticks, state)
docs: Called to fire the :attr:`when_changed` event handler; override this
          in descendents if additional (currently redundant) parameters need
          to be passed.