Refactor specs, use shared contexts

@rimian would appreciate any feedback you have on the test structure. 
I wonder if a custom matcher would be good here.

`expect(queue[attr]).to be_valid_key` or something like that.