subscribe() {
      Logger.debug("Subscribing to store changes");
      this.store.on("change", (data) => {
        this.dom.updateDOM(data.path, data.newValue);
        this.dom.updateInputs(data.path, data.newValue);
        this.computedProps.update(data.path).then(() => {
        });
        this.emit("change", data);
      });
      this.store.on("compute", (data) => this.emit("compute", data));
      this.store.on("arrayChange", (data) => this.emit("arrayChange", data));
      this.store.on("batchComplete", (data) => this.emit("batchComplete", data));
      Logger.debug("Subscribing to state manager events");
      this.stateManager.on("saveState", (data) => this.emit("saveState", data));
      this.stateManager.on("saveStateError", (error) => this.emit("saveStateError", error));
      this.stateManager.on("restoreState", (data) => this.emit("restoreState", data));
      this.stateManager.on("restoreStateError", (error) => this.emit("restoreStateError", error));
      this.stateManager.on("createSnapshot", (data) => this.emit("createSnapshot", data));
      this.stateManager.on("restoreSnapshot", (data) => this.emit("restoreSnapshot", data));
    }
Subscribes to changes from the ReactiveStore and handles DOM updates,
input field updates, and computed properties recalculation.