Creating one viewer per map

Depends on #210.  This is far from perfect, but fixes part of the problem for #154.