Review

Here's my feedback. Leave me comments if you don't like anything or want to change something.

I can rebase into a single commit before you merge.