https://medium.com/flutter-community/benefits-of-solid-principles-in-flutter-development-an-in-depth-guide-19697309e854