I have a case where we instantiate several clients in an array and then would like to obtain the client by the consumer key.  I don't understand the purpose of hiding these values at all.  It's not like they are not obtainable by other introspection methods.  Look at the aws-sdk gem for example.

So, the compelling reason is really that it is not standard practice to make credential values in API libraries read only.