Move credential responsibility into client class