There are several class methods of Minimizer that return a MinimizerResult object, and set the method attribute of that object. Currently, Minimizer.emcee() is the only one that is not accessible by passing the method kwarg to Minimizer.minimize. I realize that the MCMC sampling process is not strictly a minimization routine, but under certain constraints the maximum likelihood estimate should be identical to the output of a least-squares routine that minimizes Chi-square. In other words, it is possible to use emcee to "fit" to the model in addition to just calculating better parameter covariances.
The reason why emcee should be added as a kwarg to Minimizer.minimize (in my opinion) is because when you want to run a fit on a Model object by calling Model.fit, that calls Minimizer.minimize under the hood. There is no way to run an emcee directly on a Model class (since there is no transparent access to the Minimizer class from the Model object) without first running any other fit method and then calling the emcee method of ModelResult object.
Thoughts? If there is agreement on this, I will open an issue and start coding up a fix for PR.