I don't necessarily agree with this statement. There is a generic
method to do the correct wireup, and this method works independent of
the selected routed algorithms.

One can use the routed to ask for the next hop for each of the
destinations, make a unique list out of these first hop destinations,
and then finally generate the connections to them. Of course there is
a cost associated with this method. Creating the temporary list will
be a quite expensive, but this list will be smaller for highly
optimized routed components. Eventually, a more optimized approach
will be to use the get_routing_tree function in order to gather the
direct routes, and then start the connections to these children. This
approach is not more complex than the current implementation, and give
us the benefit of having a consistent behavior in all cases.