I needed this class for a test case, but it seemed generally helpful. You may be on to something that the Credentials interface may be able to take an ID field generally. That would be a pretty high-impact change, but I've been thinking that Credentials should be more than just a marker. I'll do some code review and follow up.