Introduce a model to abstract SCM service integration

[finishes #80208778]
In this case, we use the method to hit multiple endpoints, and the results are different for each call.