I think it would be much better if not only the client, but the supplier could terminate the contract as well (if he wouldn't like to take him a good engine or he would like to give them for somebody another), and the another: you could set how good (% of your) engine would you like to give him like in the real life.
Thanks