Best way to break up Blueprint Interfaces

Just out of curiosity want to ask,

Let’s say I have a HUD message system and some actor from world sends a message to HUD, that puts a text for a while then removes itself.

As an example it says : Discovered Shire.

Can send this message with an BPI or can call a UI subsystem that creates an event for it,
and some script in a UMG processes it.

on cases like this BPI is better? If so why? What is the difference since I am struggling with it aswell and prefer to use events more likely.

Thanks