I'm not that familiar with the locale listener but I'm curious as to why it needs to be aware of the prefixes. Could this be handled by the RouteProvider instead or a PrefixAwareRouteProvider?