Compacts code
Improves addProduct() and editProduct() method signature
Splits editProduct() for reduced complexibility
Merge pull request #772 from nsendetzky/master

Splits editProduct() for reduced complexibility and improves method signatures