Refactor ProductValueNorm to be more extendable