Big rework based on first rounds of comments from John and Paul.

svn path=/sandbox/; revision=83561