strategy pattern with 3 string manipulations strategies