dependencies part seems to most confusing. If I understand correctly its a sort of default implementation of the dependencies the Service uses correct? Not sure if it would have been better if I used Layer.provide(PgClient.layer({...})) at the entry of my programm instead where I also provide the PgDatabase. Or if I should have defined a static layerWithClient method in the PgDatabase class, that does the some thing