Thanks for the detailed reply. Given me some good ideas to work with.
In the case of the UI, its actually a VR project and its a static mesh. But I see where you are going and I could just make an override of the static mesh BP and add the minimal logic to that.
I do like the Dispatchers approach too. I have used them before so this seems like a simple solution. Will have a go today and see what I come up with
Thanks again!