docs: def fit(self, X, y=None):
          """
          Fit the clustering model, computing the centers then embeds the centers
          into 2D space using the embedding method specified.
          """
          with Timer() as self.fit_time_:
              # Fit the underlying estimator
              self.estimator.fit(X, y)
  
              # Get the centers
              # TODO: is this how sklearn stores all centers in the model?
              C = self.cluster_centers_
  
              # Embed the centers in 2D space and get the cluster scores
              self.embedded_centers_ = self.transformer.fit_transform(C)
              self.scores_ = self._score_clusters(X, y)
  
          # Draw the clusters and fit returns self
          self.draw()
          return self