Behavior Structure Definition
(defstruct (behavior (:print-function print-behavior))
(defun print-behavior (self stream indent)
(declare (ignore indent))
(format stream "{B ~a}" (behavior-name self)))
(defun define-behavior (&key name test action)
(make-behavior :name name :test test :action action)