Let's take this a bit further and reform all of the Map* methods:

MapConnection does the same thing but takes a different configuration object.