Making `router()` DRY