Classes can be inherited globally or per-recipe, and some classes are suitable for one and not the other. We should have a way of identifying in the class when that is the case and showing a coherent error when the class is used incorrectly. (There are also standard classes that the system already inherits at the right point which the user should not try to inherit themselves.) This will require adding the mechanism and then adding the definitions to each class as appropriate.
I do have basics of some patches for this issue.
oe-core f5c128008365e141082c129417eb72d2751e8045 split the classes into classes-global and classes-recipe.