move closing bahvior into dedicated ChannelHandler