Refactoring the command dispatcher