anchor.diff:             (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.
  -           #+nil
  -           (when-let (existing-client (find character-id
  -                                            (session-websocket-clients (client-session client))
  -                                            :key #'client-entity-id))
  -             (deletef existing-client (session-websocket-clients (client-session client)))
  -             (logit "Something funky is cooking.")
  -             (disconnect-client res existing-client))
              (setf (client-entity-id client) character-id)
  -           (add-client res client)
  -           (push (session-websocket-clients (client-session client)) client))
  +           (add-client res client))
             (t
              (logit "No session. Disconnecting client. (~S)" client)
              (disconnect-client res client)))))
  
positive.code: (defclass chat-server (ws:ws-resource)
    ((clients :initform (make-hash-table :test #'eq))))
  
  (defun session-websocket-clients (session)
    (transient-session-value 'websocket-clients session))
  (defun (setf session-websocket-clients) (new-value session)
    (setf (transient-session-value 'websocket-clients session) new-value))
  
  (defmethod ws:resource-client-disconnected ((res chat-server) ws-client
                                              &aux (client (find-client res ws-client)))
    (logit "Client ~S disconnected." client)
  
negative.code:   (remhash (client-ws-client client) (slot-value srv 'clients)))
  
  (defmethod disconnect-client ((server chat-server) client)
    (ws:write-to-client-close (client-ws-client client)))
  
  (defun client-account-id (client)
    (when-let (sess (client-session client))
  