Moved route + router interface from core to this library as it was nuts having it separate.