new class ItemFactory produces Item (with mapping)