Here is a list of information you may refer to:
- SRP 01: The Single Responsibility Principle (https://8thlight.com/blog/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html)
- PEP-3119: Introducing Abstract Base Classes (https://www.python.org/dev/peps/pep-3119/)
- LISKOV 01: A paper written by Barbara Liskov named Data Abstraction and Hierarchy