anchor.diff:                          (alexandria:hash-table-values (windows *interface*))))
           (replacement-buffer (or (%get-inactive-buffer interface)
                                   (%buffer-make interface))))
  -    (with-slots (host port url buffers) interface
  -      (when parent-window
  -        (window-set-active-buffer interface parent-window replacement-buffer))
  -      (s-xml-rpc:xml-rpc-call
  -       (s-xml-rpc:encode-xml-rpc-call "buffer.delete" (id buffer))
  -       :host host :port port :url url)
  +    (%xml-rpc-send interface "buffer.delete" (id buffer))
  +    (when parent-window
  +      (window-set-active-buffer interface parent-window replacement-buffer))
  +    (with-slots (buffers) interface
         (remhash (id buffer) buffers))))
   
   (defmethod buffer-evaluate-javascript ((interface remote-interface)
  -                                      (buffer buffer) javascript &optional (callback nil))
  -  (with-slots (host port url) interface
  -    (let ((callback-id
  -            (s-xml-rpc:xml-rpc-call
  -             (s-xml-rpc:encode-xml-rpc-call "buffer.evaluate.javascript" (id buffer) javascript)
  -             :host host :port port :url url)))
  -      (setf (gethash callback-id (callbacks buffer)) callback)
  -      callback-id)))
  +                                       (buffer buffer) javascript &optional (callback nil))
  +  (let ((callback-id
  +          (%xml-rpc-send interface "buffer.evaluate.javascript" (id buffer) javascript)))
  +    (setf (gethash callback-id (callbacks buffer)) callback)
  +    callback-id))
   
   (defmethod minibuffer-evaluate-javascript ((interface remote-interface)
  -                                          (window window) javascript &optional (callback nil))
  -  (with-slots (host port url) interface
  -    (let ((callback-id
  -            (s-xml-rpc:xml-rpc-call
  -             (s-xml-rpc:encode-xml-rpc-call "minibuffer.evaluate.javascript" (id window) javascript)
  -             :host host :port port :url url)))
  -      (setf (gethash callback-id (minibuffer-callbacks window)) callback)
  -      callback-id)))
  +                                           (window window) javascript &optional (callback nil))
  +  (let ((callback-id
  +          (%xml-rpc-send interface "minibuffer.evaluate.javascript" (id window) javascript)))
  +    (setf (gethash callback-id (minibuffer-callbacks window)) callback)
  +    callback-id))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; Expose Lisp Core XML RPC Endpoints ;;
  
positive.code:     (log:debug "Stopping server")
      (s-xml-rpc:stop-server (active-connection interface))))
  
  (defmethod window-make ((interface remote-interface))
    "Create a window and return the window object."
    (with-slots (host port url windows) interface
      (let* ((window-id (s-xml-rpc:xml-rpc-call
                         (s-xml-rpc:encode-xml-rpc-call "window.make")
                         :host host :port port :url url))
             (window (make-instance 'window :id window-id)))
        (setf (gethash window-id windows) window)
        window)))
  
  (defmethod window-set-title ((interface remote-interface) (window window) title)
    "Set the title for a given window."
    (with-slots (host port url windows) interface
      (s-xml-rpc:xml-rpc-call
       (s-xml-rpc:encode-xml-rpc-call "window.set.title" (id window) title)
       :host host :port port :url url)))
  
  (defmethod window-delete ((interface remote-interface) (window window))
    "Delete a window object and remove it from the hash of windows."
    (with-slots (host port url windows) interface
      (s-xml-rpc:xml-rpc-call
       (s-xml-rpc:encode-xml-rpc-call "window.delete" (id window))
       :host host :port port :url url)
      (remhash (id window) windows)))
  
  (defmethod window-active ((interface remote-interface))
    "Return the window object for the currently active window."
    (with-slots (host port url windows) interface
      (let ((window (gethash (s-xml-rpc:xml-rpc-call
                              (s-xml-rpc:encode-xml-rpc-call "window.active")
                              :host host :port port :url url)
                             windows)))
        (when window
          (setf (last-active-window interface) window))
  
negative.code: 
  (defmethod window-set-minibuffer-height ((interface remote-interface)
                                           window height)
    (%xml-rpc-send interface "window.set.minibuffer.height" (id window) height))
  
  (defmethod buffer-make ((interface remote-interface))
    (let* ((buffer-id (%xml-rpc-send
                       interface "buffer.make"
                       ;; TODO: When we need more options, we will need to pass
                       ;; a dictionary.
                       (namestring (merge-pathnames *cookie-path-dir* "cookies.txt"))))
           (buffer (make-instance 'buffer :id buffer-id)))
      (with-slots (buffers) interface
        (setf (gethash buffer-id buffers) buffer))
      buffer))
  
  (defmethod %buffer-make ((interface remote-interface)
                           &optional
  