Add mapping for a coolection of items

Changed the design, the map function is now public and not called
from the constructor. The view calls the map function (iterates
over the items if more than one).
Seperate DOMDocument functionality into new class.