@lanodan which brings me to my next point:
It's not enough to have reusabke components. GNOME has reusable components (eg. gtk) but a lot of them have GNOME policy embedded in them - they will only do what GNOME needs them to do, and of you want to do things differently, tough luck, go write your own GUI toolkit.
We need unopinionated reusable components.