Create factory for client implementations