Remove a lot of boilerplate by using the errgroup package instead of our own custom cumbersome solutions. Control server lifetime with an outer Context.