yeah, I still don’t understand why some retractors of component claim that you have to pass the entire system around. I have never needed to do that.
Just today I wrote a whole new namespace that expects, at most, the database component of the application. It exposes a low level utility function that can operate on just a db-spec but most of the functions want the database component so they can choose which db-spec to use (we have half a dozen specialized db-specs within the overall database component that different functions may want to run queries against).