anchor.diff:    ((owned :initform t)))
   
   (defclass entity (owned-thing visible-thing)
  -   ((grid-pos 
  +   ((grid-pos
        :initform (list -1 -1)
        :accessor grid-pos)
       (invalid ;if t, entity is scheduled for removal and won't be drawn or anything else
  
positive.code:   (when group
      (join-group unit group))
    (acquaint unit (weapons unit)))
    
  (defclass ground-unit (visible-circle unit)
    ((new-positions ;list of new positions created by bumping into other units. the centroid of these positions will be used as the new pos prior to move
      :initform ()
  
negative.code:     (setf (slot-value (parent child) 'children)
            (remove child (children (parent child))))
      (setf (slot-value child 'parent) nil)))
  
  
  (defmethod acquaint ((parent composite) (children cons))
    (dolist (child children)
  