This is to enable route distributions, which requires a different XML format which is more suitable for a class. Having a class is more user-friendly (i.e. user doesn't have to wonder if the return of specify_routes should be list of lists of list of dictionary of lists, etc)