DefaultChannelHandlerContext.removed doesn't need to be volatile