Returning a defer is fine either way, the question is where that defer is executed.

May be a thread is fine for now, we would need to revisit some of the thread trends when we separate the backend from the frontend.