С JS работаю редко и в основном с jquery, поэтому с опп-бест-практис в js я знаком плохо, нужен совет опытных товарищей =) Сейчас встала задача обернуть управление google/яндекс карт в один класс. Чтобы в любой момент можно было переключаться между двумя видами карт без потери данных (например как на AlterGeo). 
Тут возник вопрос - как это лучше делать? Например, нужно поставить точку на карте - какой выход нашел я (выдержка):
MapsManager = function(settings) {
  var self = this;
  this.settings = {
    provider: 'gmaps'
  }
  this.createPointer = function() {
    switch(self.settings.provider) {
      case 'gmaps':
        // реализую через апи гмэпс
        break;
      case 'ymaps':
        // реализую через апи яндекса
        break;
    }
  }
}
Тоесть в каждом ключевом методе класса я держу свитч на два вида апи. Может существует более элегантный вариант? Очень буду рад помощи
