Refactoring Command class again