Fixed establishing channel

Using callbacks instead of timeouts...much better, but quite a lot of
callbacks.