Moving the client side code to a separate plugin

Since its generic enough to be used separate from scale out scenarios