Privity of Contract: Rule, Exceptions and Practical Applications