docs: def has_changed(self, key, include_last=True):
          """
          Determine whether a formatoption changed in the last update
  
          Parameters
          ----------
          key: str
              A formatoption key contained in this plotter
          include_last: bool
              if True and the formatoption has been included in the last update,
              the return value will not be None. Otherwise the return value will
              only be not None if it changed during the last update
  
          Returns
          -------
          None or list
              - None, if the value has not been changed during the last update or
                `key` is not a valid formatoption key
              - a list of length two with the old value in the first place and
                the given `value` at the second"""
          if self._initializing or key not in self:
              return
          fmto = getattr(self, key)
          if self._old_fmt and key in self._old_fmt[-1]:
              old_val = self._old_fmt[-1][key]
          else:
              old_val = fmto.default
          if (fmto.diff(old_val) or (include_last and
                                     fmto.key in self._last_update)):
              return [old_val, fmto.value]