Updates to todos to make sure changes to a Todo model updates the Todo view.

I made this branch before deciding to use pull requests to guide the conversation so most of the commentary that would usually make sense within the pull request is currently within the commit comments.

This one is also ready for completion once everybody understands it.