Why does this need to return a deferred?