docs: def save(self, *args, **kwargs):
          """
          intercepts changes to is_published and fires layer_is_published_changed signal
          """
          super(Layer, self).save(*args, **kwargs)
  
          # if is_published of an existing layer changes
          if self.pk and self.is_published != self._current_is_published:
              # send django signal
              layer_is_published_changed.send(
                  sender=self.__class__,
                  instance=self,
                  old_is_published=self._current_is_published,
                  new_is_published=self.is_published
              )
              # unpublish nodes
              self.update_nodes_published()
  
          # update _current_is_published
          self._current_is_published = self.is_published