Some changes in ProductXXX.getInstance()