Implement dynamic client factory