Initially, the aim was to create Blocks as default classes and then override properties. In retrospect, this is really odd to understand.
Create separate Block classes that use prototypical inheritance to override some of the facets of the block. Create the new Block functions in a new folder under the entities. The Block Factory will then hold a list of all the blocks it can construct (rather than a list of block factories).
Initially, the aim was to create Blocks as default classes and then override properties. In retrospect, this is really odd to understand.
Create separate Block classes that use prototypical inheritance to override some of the facets of the block. Create the new Block functions in a new folder under the entities. The Block Factory will then hold a list of all the blocks it can construct (rather than a list of block factories).