I was looking for a clean approach where I can apply multiple Products' to a Proposal(Estimate). Would need to be able to add an unknown number of Products to the Proposal(Estimate), along with details for each "Product Line Item". Original approach was to create a Proposal(Estimate) custom object, and have a lookup relationship to the Products object, which contains a listing of all Products. And no need for pricebook.
Custom Object ------ Standard Objects
Proposal(Estimate) = Products
Proposal Line Item = Products Line Item