code: function registerServer(provider, priority) {
          if (!provider.create) {
              console.error("Incompatible live development server provider");
              return;
          }
  
          var providerObj = {};
  
          providerObj.create = provider.create;
          providerObj.priority = priority || 0;
  
          _serverProviders.push(providerObj);
          _serverProviders.sort(_providerSort);
  
          return providerObj;
      }
docs: The method by which a server registers itself. It returns an
  object handler that can be used to remove that server from the list.
  
  @param {BaseServer|{create: function():BaseServer}} provider
  The provider to be registered, described below.
  @param {number} priority
  A non-negative number used to break ties among providers for a
  particular url. Providers that register with a higher priority will
  have the opportunity to provide a given url before those with a
  lower priority. The higher the number, the higher the priority.
  @return {{object}}