<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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