Utilities.createSubclass()
can create one level of class inheritance. Utilities.extendObject()
does not recursively extend the prototype of all the ancestors methods. The solution is to use ES6 classes. A step towards making Stage
and its subclasses be ES6 classes is to move the Random
methods out of Stage
class.