This allows for example reusing the function for generating gRPC code by specifying which grpc plugin to use.