Non-blocking: @cyli and I were thinking of taking a 1-arg callable `auth_function` as argument to all the lower level worker functions. When needed these functions will call the auth function that will return service catalog and auth_token via `Deferred`. The auth function will internally take care to re-auth if the token expires. This can help as our jobs get longer. Was wondering if this can be first implementation of that idea :)