DRAFT PR: Prototype for serviceconfig
* in progress
* in progress
* extract common methods
* Merge remote-tracking branch 'origin/feature/serviceconfig' into feature/serviceconfig
* fix types
* cleanup
* add tests
* Merged main into feature/serviceconfig
Approved-by: Michael McGuinness