A framework is provided for creating sub-components that inherit from common-component.
In .Net, achieved by creating classes that implement a common interface or a set of interfaces,
where the interface comprises of the generic method declarations that are passed on the sub-components. Eg: GovtRules(), will have PoliceRules(), courtRules().
Factory pattern: Objects are created without knowing the class of the object.