Different kinds of authentication

Authentication can be implemented in various ways, such as passwords, SMS verification codes, and biometrics. Should these be modeled as separate concepts, or as different implementations of a single, unified Authentication concept(like conceptbox/design/concepts/UserAuthentication/UserAuthentication.md at main · 61040-fa25/conceptbox · GitHub and deja-vu/packages/catalog/authentication at master · deja-vu-platform/deja-vu · GitHub )?
Similarly, product discount strategies can involve many different calculation methods. In such cases, would it make sense to think in terms of “concept clusters” or “concept polymorphism”?