I think it makes sense to have MarkovStateModel, GaussianFusionHMM, and MetastableSwitchingLDS all inherit from the same base class. Perhaps this could be BaseEstimator, but we might also consider a class like TimeSeriesEstimator (which could be a subclass of BaseEstimator if helpful), since all of our model classes are various time series methods.