This is probably following a pattern I introduced, but it's a bit monkey.  There must be a better way to deal with multiple credential types.