If you have lots of NPCs but only one HUD can be on the screen at a time, then it's probably better to use one instance of HUD - spawn and destroy, or to keep it off-screen and re-show when needed.
With not so many NPCs you can do what's easier for you, for example you may create a HUD for each instance, pin it and keep it invisible.
Okay, man.
What I'm trying to say here is that I'm sharing the same HUD object for all NPCs, for facilitating programming when I think it's the easiest method. Each NPC has its own instance variable that determines a specific animation of the same HUD object independently from the other NPCs.
The most laborious (and conscious) way would be to create X identical HUD objects and program them individually, creating dozens of event lines. I'm trying to optimize this, I just don't know how. :(