docs: def synchronizer(self):
          """ access synchronizer """
          if not self.synchronizer_path or self.synchronizer_path == 'None' or not self.layer:
              return False
          # ensure data is up to date
          if (self._synchronizer is not None and self._synchronizer_class.__name__ not in self.synchronizer_path):
              self._synchronizer = None
              self._synchronizer_class = None
          # init synchronizer only if necessary
          if not self._synchronizer:
              self._synchronizer = (self.synchronizer_class)(self.layer)
          return self._synchronizer