Re-submitting PR:5372
The creation of the class for a new subclass of ScriptStrategyBase incorrectly select the base class ScriptStrategyBase when the getmembers() ordering puts the new class lower than ScriptStrategyBase (i.e. TestScriptStrategyBase). This is because in the next() lookup function because issubclass(cls, cls) = True (a class is a subclass of itself in Python)