override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesEnded(touches, with: event)
guard let touch = touches.first else { return }
let touchLocation = touch.location(in: self)
let touchPoint = fetchTouchPoint(touchLocation)
let touchValue = fetchTouchValue(touchPoint)
value = touchValue
rx.value.onNext(value)
}