Compacts code
Improves addProduct() and editProduct() method signature
Splits editProduct() for reduced complexibility