PIM-2287: Huge refactor to get products