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.
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 makingStageand its subclasses be ES6 classes is to move theRandommethods out ofStageclass.