Refactoring and StrategyPatterns