Refactored Strategy class to enable easy extensions