Included an item factory. Unsure if pattern is applied
correctly, but item type does need to be generated.