Bring the channel factory back. Simplify it's API.