add validation to product, setup error messages in gui, add abstract validating factory + create factory for products
Merge branch 'master' of github.com:Sch3lp/ducking-octo-archer