Added product repository for product control

Added product repository for control to products rather than forcing one
object to deal with this - will look at DB for this at a laters stage -
need to comment through this part what has taken place so it can be
reproduced as teh project