Use teardown functions instead of deferreds for transmitting channels