The current practice of flattening everything into the single LuaGuiElement class seems to be resulting in quite a hodge-podge there. Also, mod authors have to design everything procedurally ("please put a button named "okbtn" into the "widgetconfiguration" panel at offset (10,30), kthx!") which is not really a recipe for great design (although it performs well and tends to be jank-free which are important attributes).
I feel like mods would have better GUIs if the element "type"-specific attributes were somehow split into separate Lua classes, and GUI {de,}serialization APIs were provided that yielded some sort of human-friendly representation that mirrored the visual containment hierarchy (maybe that's already available somewhere and I'm just not thinking of it?)
Anyhow just thinking out loud ... so to type
![Smile :)](./images/smilies/icon_e_smile.gif)