See: LiskovSubstitutionPrinciple