docs: def onChange(self, min_changed_pixels=None, handler=None):
          """ Registers an event to call ``handler`` when at least ``min_changed_pixels``
          change in this region.
  
          (Default for min_changed_pixels is set in Settings.ObserveMinChangedPixels)
  
          The ``handler`` function should take one parameter, an ObserveEvent object
          (see below). This event is ignored in the future unless the handler calls
          the repeat() method on the provided ObserveEvent object.
  
          Returns the event's ID as a string.
          """
          if isinstance(min_changed_pixels, int) and (callable(handler) or handler is None):
              return self._observer.register_event(
                  "CHANGE",
                  pattern=(min_changed_pixels, self.getBitmap()),
                  handler=handler)
          elif (callable(min_changed_pixels) or min_changed_pixels is None) and (callable(handler) or handler is None):
              handler = min_changed_pixels or handler
              return self._observer.register_event(
                  "CHANGE",
                  pattern=(Settings.ObserveMinChangedPixels, self.getBitmap()),
                  handler=handler)
          else:
              raise ValueError("Unsupported arguments for onChange method")