lgtm++; looks great! There is one remaining issue: cajoled() versus raw(). It seems that "cajoled" means, the stuff I am giving the API is cajoled. "raw" means, the stuff I am giving the API is un-cajoled. The current usage seems not to fit that.
http://codereview.appspot.com/4211045/
