This actually makes it a lot easier to read and understand IMHO. It's simply a list which needs to grow instead of some complex regex or parsing algo. 

This way it doesn't matter where each component is rendered into this simply splits the url up into the separate components then those components dispatch methods control where they are rendered into.