I added in a note, I think this is the multi-year result of not having a old, grey-haired standards committee around creating APIs. I made fun of Sun and Oracle for doing things like this for years, but after futzing around with Rails frameworks, integration, and edge-cases. I think I would have preferred to have people sitting around a conference call saying things like, "Hey Devise people, your authentication approach looks like a good standard, why don't we formalize it so we can make this stuff easier to integrate."
I know this makes me sound old. I own that.