Cannot setText after first run through of the game/switching scenes

Okay so I looked more into what is going on and I think I know what is happening. I am still unsure of how to properly resolve this though. Here are my observations:

So in GameScene create() - I create an instance of the ScoreBox class. This ScoreBox class creates this.scoreText via the method this.scene.add.text().

this.scoreText.setText() is called whenever the EventEmitter detects that the score needs to be updated. For the first run of the game, all of this works totally fine.
For debug purposes, I assigned this.scoreText a member variable with a random number, which came out to be 2 (this.scoreText.debugNumber=2).

After the game ends, I made a point to run emitter.off(...) for the events related to score updates, I run this.scoreBox.scoreText.destroy(), and set this.scoreBox=null prior to switching to the game over scene (although I get the same error even without doing this so this is probably not necessary).

In the second run of the game, the ScoreBox object is recreated when GameScene’s create() runs again, and a new this.scoreText variable is created. this.scoreText this time has a debugNumber value of 76.

When the game tries to run this.scoreText.setText() though, the debugger tells me that it is using the first this.scoreText that was already destroyed - the one with this.scoreText.debugNumber=2, instead of the newly created one. This is why this scoreText has a frame object with data=null.

How do I get the new this.scoreText object to be used instead? I already called emitter.off() on the event that calls for updating the score.