My opinon on this is the following:
If the Shogun user *has* to use your class as the likelihood model, then this should be a subclass. However, if this class is only a tool that is used from a certain inference methods with a certain likelihood function, then it should not be a subclass. How do you plan that this class will be interacting within our GP framework?