Implements Connection.then and Channel.then