Refactor dispatcher service to use generic pool