AbstractRouter refactoring