Extracted JSON from the picture so it could be XML or some other
encoding if required.
Refactored to use visitor pattern for transferring items between engine
and storage.