@on_drag_detected ||= handle_observation_request('on_drag_detected') do |event|
              Shape.dragging = true
              Shape.dragging_x = event.x
              Shape.dragging_y = event.y
              Shape.drop_shape_handling_count = 0