Remove AbstractDispatcher and refactor dispatcher implementations.