can abstract all these 'throws on a non-object' tests. for example: https://github.com/Clever/oauth/blob/master/test/oauth_helpers.coffee#L12-L22