https://paritoshdadhich.medium.com/abstract-factory-design-pattern-a-comprehensive-guide-3d4d828d477c