Contracts 101: Protecting Your Products with Contracts