Best practise working with game mode in blueprints

I’m currently working on a project where there are several instances of a blueprint active in the scene and each actor can be selected by mouse click. When the actor is selected, a widget pops up to do something with the selected actor.
I store the currently selected actor in the game mode to make it easily accessible from the widget and other blueprints.

My question about game modes is whether it is better to call the game mode from the beginplay event in a blueprint and store it as a variable to be used inside that blueprint OR to call the game mode every time it is needed inside the blueprint.

I don’t think it matters. It’s a bit more convenient to put the ref in a variable I guess.

Seconded.

But I’d ask myself whether the Game Mode needs to know these objects even exist in the first place. Why not bind them together with dispatchers and leave the GM out of this. The fewer hard references there are, the better.

Although I understand this may not apply to every scenario.