+
+
+;;; Binding of dynamic variables during perform
+
+(defvar *operation* nil)
+(defvar *system* nil)
+(defvar *component* nil)
+
+(defmethod perform :around ((operation operation) (c component))
+ (let ((*operation* operation)
+ (*component* c)
+ (*system* (component-system c)))
+ (call-next-method)))