Nice work...you might consider using the nwc.txt options, where possible. For example:
local function toParmString(fld)
local s = StringBuilder.new()
for _,v in ipairs(nwc.txt[fld]) do s:add('|',v) end
return tostring(s)
end
local Values = {
Text = "*",
Visibility = toParmString('ItemVisibility') ,
Color = toParmString('ItemColor'),
['Dynamic.Style'] = toParmString('DynamicLevels'),
['DynamicVariance.Style'] = toParmString('DynamicVariance'),