Meteor: ¿devolver la función asíncrona a la plantilla del manillar?

Estoy tratando de generar una URL de Flickr basada en una llamada a la API de Flickr y luego devolver ese resultado a una plantilla de handlebars.js. Estoy luchando para encontrar una manera de evitar los procesos asíncronos.

He intentado crear una función de devolución de llamada, pero todavía no estoy seguro de cómo obtener un objeto o variable definida en la plantilla HTML.

Aquí está el código para la función API de Flickr:

var FlickrRandomPhotoFromSet = function(setID,callback){
Meteor.http.call("GET","http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key="+apiKey+"&photoset_id="+setID+"&format=json&nojsoncallback=1",function (error, result) {
    if (result.statusCode === 200) 
    var photoResult = JSON.parse(result.content);
    var photoCount = photoResult.photoset.total;
    var randomPhoto = Math.floor((Math.random()*photoCount)+1);
    var selectedPhoto = photoResult.photoset.photo[randomPhoto];
    var imageURL = "<img src=http://farm"+selectedPhoto.farm+".staticflickr.com/"+selectedPhoto.server+"/"+selectedPhoto.id+"_"+selectedPhoto.secret+"_b.jpg/>";
    FlickrObject.random = imageURL;
    }
    if (callback && typeof(callback)==="function") {
        callback();
    }
});};

Mi código de plantilla es este:

Template.backgroundImage.background = function(){
    FlickrRandomPhotoFromSet(setID,function(){
        return FlickrObject;
    });
};

Pero esto todavía me deja atascado, no puedo obtener un objeto definido en mi HTML, que está codificado como tal:

<template name="backgroundImage">
<div id="background">
    {{random}}
</div>

Respuestas a la pregunta(1)

Su respuesta a la pregunta