Add behavioral strategy pattern