Because the user has no idea about which name was used for the ChannelHandler at all and so can not easily remove/replace etc them. Maybe the argument doesnt hold as it is still possible by lookup the name by the class directly, but for this the user need to know what exactly is insert. I just wonder why this is more useful then add the ChannelHandler directly, or you just think it is because it allows some kind of grouping?