I spoke with Gary about this over the weekend. This PR is actually just an iteration, so some of this (like the "TODO"s) will be taken care of in the next. It's just a lot of code and he's trying to break it up some.