Yeah I was thinking about have a ChannelTransferFuture which only has the add methods for the listeners and the a ChannelTransferPromise which has the setter... just the same pattern like we have for ChannelFuture and ChannelPromise.