Get standard item scenarios passing

Move the update responsiblity for an item to its product wrapper
Add executable for extra testing