function drawImages(selection) {
        var enabled = svgStreetside.enabled;
        var service = getService();

        layer = selection.selectAll('.layer-streetside-images')
            .data(service ? [0] : []);

        layer.exit()
            .remove();

        var layerEnter = layer.enter()
            .append('g')
            .attr('class', 'layer-streetside-images')
            .style('display', enabled ? 'block' : 'none');

        layerEnter
            .append('g')
            .attr('class', 'sequences');

        layerEnter
            .append('g')
            .attr('class', 'markers');

        layer = layerEnter
            .merge(layer);

        if (enabled) {
            if (service && ~~context.map().zoom() >= minZoom) {
                editOn();
                update();
                service.loadBubbles(projection);
            } else {
                dispatch.call('photoDatesChanged', this, 'streetside', []);
                editOff();
            }
        } else {
            dispatch.call('photoDatesChanged', this, 'streetside', []);
        }
    }
drawImages()
drawImages is the method that is returned (and that runs) every time 'svgStreetside()' is called.
'svgStreetside()' is called from index.js