Move Clietn update code from registry impl to UpdateClient in order to
better encapsulate the update strategy (this makes it easier to provide
an alternatve implementation of ClientRegistry),