Freeze/Thaw DAG; Flat Style

@andyperlitch, let's review this together. I'd like your feedback on the freeze/thaw code.
I've made a separate commit for the flat style, so if you want to go a different direction we can easily extract it from this.

![screen shot 2014-09-17 at 11 30 29 am](https://cloud.githubusercontent.com/assets/8418898/4309355/45c13130-3e9b-11e4-939f-5a6de62256d0.png)