I was at the same point coming from Unity and being used to using decoupled event messaging thru serialized Unity Events and thru utilizing Scriptable Objects (Data Assets in Unreal). I was very confused about this as well.
I also landed on the github asset ultimately, after doing research. But I find using an external 3rd party implementation from github for something so architecturally fundamental to be very risky and too scary to rely on.
However, there is actually a way to do this kind of Mediator Pattern approach with native UE features. You can use Data Assets. See this post here, where I just replied to:
Hopefully this helps others who are coming from the Unity, who are used to the Ryan Hipple Scriptable Objects approach and using Unity Events. I also found that there is always some form of binding and knowing involved with Unreal, at least when not utilizing Data Assets.
Features like Event Dispatchers and Interfaces are awesome, but they are not a replacement for what OP asked about.