Given that this class is using this method, why don't we just make this a classmethod factory and have it return a valid RefreshableCredentials object?   That way it's part of the public API?

```
creds = RefreshableCredentials.create_from_metadata(metadata, method=self.method, refresh_using=refresh_using)
```