anchor.diff:    (gethash ws-client (slot-value chat-server 'clients)))
   
   (defun client-character-name (client)
  -  (when-let ((character-id (client-character-id client)))
  +  (when-let ((character-id (client-entity-id client)))
       (character-name character-id)))
   
   (defun actor-client (actor-id)
     (maphash-values (lambda (client)
  -                    (when (eql actor-id (client-character-id client))
  +                    (when (eql actor-id (client-entity-id client))
                         (return-from actor-client client)))
                     (slot-value *websocket-server* 'clients))
     nil)
  
positive.code:          (char-index (jsown:val message "char"))
           (character-id (nth char-index (account-characters (client-account-id client)))))
      (cond ((and client-valid-p character-id)
             (logit "Client validated: ~S. It's now playing as ~A."
                    client (character-name character-id))
             ;; TODO - Need to do something about clients connecting to the same entity.
             (when-let (existing-client (find character-id
                                              (session-websocket-clients (client-session client))
                                              :key #'client-character-id))
               (deletef existing-client (session-websocket-clients (client-session client)))
               (logit "Something funky is cooking.")
               (disconnect-client res existing-client))
  
negative.code:   (setf (transient-session-value 'websocket-clients session) new-value))
  
  (defmethod ws:resource-accept-connection ((res chat-server) resource-name headers ws-client)
    (declare (ignore resource-name headers))      ; Is this wise?
    (continuable
      (add-client res (make-client :ws-client ws-client)))
    t)
  