Solid is this massive library for querying everything hardware.
It can be used to enumerate your Batteries, Processors (!), Network Shares, Optical Media, and other bits. Its API is inherently synchronous and likes to block doing tons of DBus calls. It was also written in a time before smartphones (there's only "Portable Media Player") or DBus ObjectManager (does a lot of individual property fetching).
I propose to simplify Solid and reduce it to basically querying batteries and storage (optical drives, removable storage, network shares) and giving it an asynchronous API.
Ideally, there was also a way for different backends to combine their device data. For instance, UDev can find a phone through PTP and then it might be found by some other backend. Currently, you get two distinct entries.
Also, backends as proper plugins would be useful, so we could have KDE Connect devices as first class citizens showing up in your device notifier as if they were a local USB drive, have their battery status reported like a mouse, etc.