Add edX OAuth2 provider with OpenID Connect support

In this case it was just habit, I wasn't really thinking about it. In other cases it depends if it makes things easier to read or modify.