Use promises to ensure image+thumbnail are ready