>>there is no thread being created? 
Not in your rails example but it can happen and we should not limit this.

Most importantly if forces sharing data(the tokens) which is not shareable by placing them in a singleton.

Putting the client secret and key there works because they are global across the app. The access token or refresh token are not, they are per user so they should not be stored in the same location.

While this code is very terse it becomes convoluted when dealing with multiple users

We should be doing something like this

``` ruby
mirror1 = Mirror.new(user1_token)
items_for_user_1 = mirror.timeline.list

mirror2 = Mirror.new(user2_token)
items_for_user_2 = mirror2.timeline.list
```