It seems to me that some of the characteristics of the controller in MVC
mirror those in delegator, or in some kind of bidirectional chain of
responsibility in so far as they result in messages being passed
through to the far side[1].  This is particularly the case when the
main job of the controller is isolation between the view and the
model.

Is there a well known good way to provide this, since delegators
seem to be unidirectional and so do chains of responsibility?
I'm don't know how to phrase the search so that I get useful
results -- I haven't been able to so far, anyway.

Should I be looking at Needle to provide the isolation?  I think I
will want the controller to do some work, to enable the
choice of view to be flexible.  I'm thinking there is probably a way
to write less code than to write all the controller's methods
explicitly by hand, but method_missing() would need to do
something different depending on which direction I'm going
(View->Model, Model->view), which will need to be coded in the
method name, I think.

I suspect that I won't be able to use Observable because both sides
observe and are observed by the controller, creating a loop.

         Hugh

[1] Not in the Gary Larson sense, at least not until my code gets
really weird.