Avoids possible circular include by making lazy references to the shop product model