https://medium.com/@h.awaesha97/understanding-the-equatable-package-in-flutter-a-comprehensive-guide-9902f5c85905