Generic refactoring
New createClient semantics
Experimental pub / sub stream implementation