 (defrecord Monster [name summary])
 (def monster-defaults ["" ""])
 
-(defrecord Player [name summary current-room])
-(def player-defaults ["" "" 0])
+(defrecord Player [name summary room])
+(def player-defaults ["" "" :undefined])
 
 (defrecord Room [name summary order items])
 (def room-defaults ["" "" 0 []])


(declare types name-into-objs extract-by-class get-story-ctx)

  (get-current-room [this])
(defprotocol Queryable
  (get-all-items [this])
  (get-item [this name]))

  ;;   (println "move!"))
  (look [this arguments]
    (if (nil? arguments)
      (:summary (get player :room))
      (let [arguments-vec (str/split arguments #" ")]
        (if (= "at" (first arguments-vec))
          (if-let [item (get-item this (second arguments-vec))]
