Then came Leaflet, which I used for several quick experiments such as a split screen feature (not publicly demo-able).
Our Lizard software is quite closely-coupled (as opposed to loosely-coupled) to it’s mapping solution, so we had major problems shifting to Leaflet.
I’ve been thinking about an abstraction layer, but it seemed like a lot of work and maintenance. Fortunately, I just ran across Mapstraction, which does exactly that: an interface above Leaflet, Google, OpenLayers and many more. Have a look at their sandbox or at mapstraction/mxn at Github.