function initSingleton() {
    var instance;
    if (instances.length) {
        instance = instances.filter(function(item) {
            return item.name === "singleton";
        });
        if (instance.length) {
            logger.error(
                chalk.yellow("You tried to start Browsersync twice!"),
                "To create multiple instances, use",
                chalk.cyan("browserSync.create().init()")
            );
            return instance;
        }
    }
    var args = Array.prototype.slice.call(arguments);
    singleton = create("singleton", getSingletonEmitter());

    if (singletonPlugins.length) {
        singletonPlugins.forEach(function(obj) {
            singleton.instance.registerPlugin.apply(
                singleton.instance,
                obj.args
            );
        });
    }

    singleton.init.apply(null, args);
    return singleton;
}
Create a single instance when module export is used directly via browserSync({});
This is mostly for back-compatibility, for also for the nicer api.
This will never be removed to ensure we never break user-land, but
we should discourage it's use.
@returns {*}