Once you have many (20-30) services running in a ServiceGroup, it becomes very difficult to debug graceful shutdown issues, mainly because the sl-service metadata field in logs isn't super helpful, as it usually just represents the type of the service. Sometimes that's enough, but often services themselves run nested ServiceGroups, so you end up with many "ServiceGroup"s in your root one, making debugging difficult.
I think what would help here is to add an optional nameOverride to two places:
ServiceConfiguration.init(...), allowing you to give a semantic name to a service when adding it to a ServiceGroup.
ServiceGroup.init(...), allowing you to name a group itself, this one might be less important if we get (1).