I wasn't planning on touching Product in this commit but I will move these to the ES module.