Implementing clean way to store purchase details as well as the product info.