New Communication API

This allows using multiple clients.