Issue #32 Added ImageContainer to product

* Added trait into Product definition
* Added interface into Product Interface
* Fixed Product mapping definition
* Added image initialization into Product Factory