Partway breaking up default identity provider to use my own context