[refactor] in process: decoupling router: extracting dispatchers