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;
    }
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}}