On a more serious note, the approach I have ended up taking is making a sort of UI framework system (mostly for more complex ui elements, ie integrating ui shadows with the 9-slide thing, but having it as a simple component on which you can adjust the radius. Or a scrolling frame where the scroll distance is adjustable, or can be scrolled by a script. Also making a theme system, custom mouse enter and mouse leave events, and stuff… ) but this is a bit extreme. Something that is useful is making what I call “prefabs”, stuff like sliders, dropdowns, or even buttons, scrolling frame, or whatever, built with a cohesive style. I’ve found that components tend to keep granularity as you still build the ui “manually”, but you have some shortcuts for common stuff
This I would refer probably as the nuclear option
Another option is to submit to the ui, and make a 3k lines of code script. Actually not too bad. Ui code is quite repetitive, so it can be a mess, and kinda be fine. It isn’t some complicated system. But it will be painful (war is always painful)