Binding 2

I played around with your code some more. I hoped that I could use some more of Angular's binding magic but that didn't work out very well. If there is a more Angular-y way of doing things it's not very obvious to me.

PS. You'll notice that I wrote tests second. This is not how I usually work. My plan was to try things in a spike and implement it test-driven afterwards. Unfortunately the spike took so long and Angular did a fair amount of frustrating that I just fixed the tests and called it a day.