Added ProductRepository singleton so that changes survive between requests (always a good thing). Of course, they still don't survive between app runs, but this is just a demo, so that's okay.