I'm curious if it would be simpler to simply treat all environments the same with regard to RHSM?   By that I mean, instead of collecting two lists, one with environment names and ids, and another with  env_id-content_view_id, could we just treat them all the same?  

So instead of rhsm getting:

[{:id=>1, :name=>'dev'}, {:id=>1-2, :name=>'dev/view1'}]

they would get:

[{:id=>1-1, :name=>'dev'}, {:id=>1-2, :name=>'dev/view1'}]

Wouldn't this simplify a lot of the lookup code for RHSM on both the list environment and subscribe calls?   It might be clearer then, if the api is an 'rhsm' call, lookup environment/view this way, if its a normal api call, look it up this other way?    Or am i missing something :)