Tribal knowledge: If you try to set the return value to a defer.succeed() for a function that gets called multiple times, the second one causes errors.  I added a comment to explain.