I'd like to slice PR-1066 up a bit differently so we can get bits in that we agree on while working on others. The current commits aren't well suited for that, so I'm doing this Phab review to get things started. (also, I can push to my github and do pull requests to run testing too). I'm open to other ways too, but I thought I'd start here to get it rolling because as it is PR-1066 is just too big and disconnected to review effectively.