anchor.diff:                              (gadget-id gadget)
                               value)))
   
  -(defgeneric value-changed-callback (value-gadget client gadget-id value))
  +(defgeneric value-changed-callback (gadget client gadget-id value)
  +  (:argument-precedence-order client gadget-id value gadget))
   
   (defmethod value-changed-callback ((gadget value-gadget) client gadget-id value)
     (declare (ignore client gadget-id))
  
positive.code: 
  ;;; 30.4.4 The abstract scroll-bar Gadget
  
  (defgeneric drag-callback (pane client gadget-id value))
  (defgeneric scroll-to-top-callback (scroll-bar client gadget-id))
  (defgeneric scroll-to-bottom-callback (scroll-bar client gadget-id))
  (defgeneric scroll-up-line-callback (scroll-bar client gadget-id))
  (defgeneric scroll-up-page-callback (scroll-bar client gadget-id))
  (defgeneric scroll-down-line-callback (scroll-bar client gadget-id))
  (defgeneric scroll-down-page-callback (scroll-bar client gadget-id))
  
  (defclass scroll-bar (value-gadget oriented-gadget-mixin range-gadget-mixin)
    ((drag-callback :initarg :drag-callback
  
negative.code:                       :initform nil
                        :reader gadget-activate-callback)))
  
  (defgeneric activate-callback (action-gadget client gadget-id)
    (:argument-precedence-order client gadget-id action-gadget))
  
  (defmethod activate-callback ((gadget action-gadget) client gadget-id)
    (declare (ignore client gadget-id))
  