for large number of routes, querying every 300 millis is way too frequent; so lets cache for about 15 seconds for now. Ideally this would be configurable