make WSClient abstraction explicit, allowing WS to now work with a number of different clients.