(1) An agreement for sale which is otherwise sufficiently definite (subsection (3) of section 2-204) to be a contract is not made invalid by the fact that it leaves particulars of performance to be specified by one of the parties. Any such specification must be made in good faith and within limits set by commercial reasonableness.
(2) Unless otherwise agreed specifications relating to assortment of the goods are at the buyer's option and except as otherwise provided in subsections (1) (c) and (3) of section 2- 319 specifications or arrangements relating to shipment are at the seller's option.
(3) Where such specification would materially affect the other party's performance but is not seasonably made or where one party's cooperation is necessary to the agreed performance of the other but is not seasonably forthcoming, the other party in addition to all other remedies
(a) is excused for any resulting delay in his own performance; and
(b) may also either proceed to perform in any reasonable manner or after the time for a material part of his own performance treat the failure to specify or to cooperate as a breach by failure to deliver or accept the goods.