Refactoring to command pattern