There are two main examples where a version of the Minimal Model Program can, at least conjecturally, be performed successfully: the first is the classical MMP associated to the canonical divisor, and the other is Mori Dream Spaces. In this paper we formulate a framework which generalises both of these examples. Starting from divisorial rings which are finitely generated, we determine precisely when we can run the MMP, and we show why finite generation alone is not sufficient to make the MMP work.