\--LibBabble-Boss-3.0 (a seperate dir for embeding so the toc and other stuff doesn't get embeded)
| |--LibBabble-Boss-3.0.lua (the normal lib)
|-NewFile.lua (a new lua file for standalone only that has our new super special feature)
Now we change LibBabble-Boss-3.0.lua to use a numeric key instead of the enUS name as the table key. The key is found by using tonumber(string.sub(GUID,-12,-7),16) and is the same number as used by http://www.wowarmory.com/data/dungeonStrings.xml and wowhead/?npc= or wowdb/npc.aspx?id=
Our new file in the main dir has our new super special function that it listens to the combatlog and when it sees a new GUID it pulls the mob id out of it and compares it to the stored name in LibBabble-Boss-3.0 and if its different it saves it do a savedvar and LibBabble-Boss-3.0 uses it from now on. So when running LibBabble-Boss-3.0 standalone we have a self learning lib and people could even just send in their saved vars file for us to get updated names from.
I don't think this is necessary. We can distribute to a few people the self-learning copy of the library, but once all the data is collected, the library should be updated accordingly as a static database.
Also I want to point out that some mobs/bosses make clones/copies of themselves with the same name, such as Skyriss and Skeram... And Kael'thas Sunstrider has the same name in both Tempest Keep and Sunwell I think. So special care needs to be taken for such cases, and the bosses need to be indexed by IDs and not by their name.