added static factory function for products/categories for more fluent style