constructor(ui, extensions) {
        this.ui = ui;

        this._instanceCache = {};
        this._extensions = extensions.map(Extension.getInstance.bind(Extension, ui, this)).filter(Boolean);
    }
Constructs the System class

@param {UI} UI instance
@param {Array<Object>} Array of loaded extensions