After we're done adding our new extensions, it would be good to brainstorm ways to make the generated code more granular, so it will be easier for SDK authors to customize more specific parts of the generated code.
For example, if users want to modify a client's config / pipeline client, they will have to copy paste the whole init code. We can have the init code call out specific funtions instead, i.e. self._build_pipeline(...) etc, so if users want to modify how we build our pipeline, they'd only have to modify this function, instead of having to copy-paste everything in the init