Adding the Strategy Pattern.