Dialogue Plugin

After much thinking, I did this:
an enum for the stat name
a map for the enum + float
a datatable with that map for separate NPCs/events
and then in game, when a situation occurs, it checks the data table for the info needed.

the issue with the second, that I think I got covered, is that in cases of multi-dialogues between several NPCs including the main character, in the dialog plugin you cannot give different names to each dialogue piece.
This:

So what I did is that I have a dialog manager that uses dialog arrays and plays the arrays in order, destroying the widgets and rebuilding as neeed.