This is weird, I know I sent this but did not get it as a list subscriber nor do I see it in my sent folder. Anyway, at pain of repeating myself. Cells 3 has been committed to CVS (not a new module, just Cells updated). Celtk is a new module, a portable Cells Inside GUI built atop the core of LTk. It requires Cells3. I may actually do a little Cells doc by way of explaining Cells3 differences. The big deal can be sorted out by examining the "finish-business" function. It makes apparent how Cells orchestrates orderly state change. Cells3 also enforces that, by yelping if one attempts a SETF in an observer -- you have to wrap the setf and any computation relevant to that setf: (with-integrity (:change) <be safe, wrap the whole observer form>) If this helps, here is what I had to do to port the test suite: [s/old/new/w is the VAX EDT editor command for subsitute/old/new/whole] s/def-c-output/defobserver/w The syntax is unchanged. Any setfs of input Cells you have in the body will cause a runtime error unless you wrap the form in with-integrity as discussed above. s/with-deference/with-integrity (:change)/w turns out all the wrapped forms were SETFs. I kinda like the idea of with-deference since, in the case of an observer setf, one really is asking for a deferred action. with-integrity is a "maybe" deal -- it says "go ahead if not already under integrity handling. s/make-be/make-instance/w special handling now handled in shared-initialize Forget to-be, not needed anymore When the Family code squawks about :fm-parent being required, add: :fm-parent self ...to the make-instance argument list. In some cases the instances were being made without a surrounding (c? ...) form. That is needed to have access to the parent instance self. btw, there is a make-kid macro that is just (make-instance ',class :fm-parent self ...). again, the cells engine yelps if it encounters a SETF needing wrapping in: (with-integrity (:change) (setf ...)) Celtk shows a complicated example of using the client queue to get a declarative Cells app to talk coherently to an imperative, order-sensitive system. kt