So you idea is merge this code to an extend interface named ChannelTransferFuture?