#24 refactor out a client key manager using client key provider.