@Nonnull
    default ChannelAgent<T> newAgent(ChannelListener<T> listener) {
        ChannelAgent<T> agent = newAgent();
        agent.addListener(listener);
        return agent;
    }
Creates a new {@link ChannelAgent} for this channel, and immediately
adds the given {@link ChannelListener} to it.

@param listener the listener to register
@return the resultant agent
helper/src/main/java/me/lucko/helper/messaging/Channel.java