Rewrote data model to use the state for all imformation instead of form.
Also added the cart mechanics to the generate page in preparation for
merging with the browse page