Subdivision of insertProduct() into few private methods like _insert*()