docs: def connect(self, index):
          """Connect signals needed for dependency updates.
  
          Pre- and post-delete signals have to be handled separately, as:
  
            * in the pre-delete signal we have the information which
              objects to rebuild, but affected relations are still
              presented, so rebuild would reflect in the wrong (outdated)
              indices
            * in the post-delete signal indices can be rebuild corectly,
              but there is no information which objects to rebuild, as
              affected relations were already deleted
  
          To bypass this, list of objects should be stored in the
          pre-delete signal indexing should be triggered in the
          post-delete signal.
          """
          self.index = index
  
          signal = ElasticSignal(self, 'process', pass_kwargs=True)
          signal.connect(post_save, sender=self.model)
          signal.connect(pre_delete, sender=self.model)
  
          pre_delete_signal = ElasticSignal(self, 'process_predelete', pass_kwargs=True)
          pre_delete_signal.connect(pre_delete, sender=self.model)
  
          post_delete_signal = ElasticSignal(self, 'process_delete', pass_kwargs=True)
          post_delete_signal.connect(post_delete, sender=self.model)
  
          return [signal, pre_delete_signal, post_delete_signal]