Should this be a defer.inlineCallback?