reset () {
    // These commands are side effects required to undo forward commands.
    this.additionalCommandStateStack = []

    // We populate this stack from the cinematicCommandRunner, and these are
    // the commands that run the cinematic forward.
    this.undoCommandStack = []

    // The undo commands for a current shot.
    this.currentNodeUndoCommands = []

    this._ignoreUndoCommands = false
    this.markFirstStopPoint = null
  }
This system stores additional command state that must be run when undoing commands.
We use this system to store additional information required to undo various commands.

It is also a singleton because it was easier to sneak it into commands.