Move channel bounds check to handler methods