Reformat and refactor ProductApprover
Delegate to Product instead of Instrument