Yes I understood that part of it and I was simply using the "theme" of Train to ask my question.
Basically in the GUI you choose your Train (9.3, 9.10, 10 Beta)(aka Build Branch -- and from the way it sounds you could theoretically choose even more if it were set up do do so) and then the software handles going out to the source (aka Train Station) and booking the Train (implementing a pull) to bring you your cargo (changed "compiled" source code) then when it arrives the software disseminates that cargo (unloads the Train) to its designated endpoints.
However it is unclear to me how this is handled on the Station (source) side of things. I can see code used to implement the request but not how things are set up on the source side to handle this request. And there does not seem to be a means that either sets it up for you or outlines how to set it up on your own. So basically if I do not want to go and pull a 9.3, 9.10, or 10 Beta but want to set up and pull a 9.10 Advanced or some other Branch that I have set up at my source how is that set up so that the GUI acts accordingly