Refactor social auth pipeline to get extra data in OO fashion [finishes #82878200 #82878260]

@rmutter take a look
Should use `format` here.