I just read a great post that describes and compares the often confusing and scary landscape of patterns for achieving separation of concerns in applications requiring user interaction.
http://ctrl-shift-b.blogspot.com/2007/08/interactive-application-architecture.html