Move todo management to Builder.

Hey Brandon,

A proposal: what do you think about moving todo management to Builder? My thoughts

* it seems more of a Builder responsibility than a caching one
* Cache no longer depends on Graph, reducing the dependency surface area
* Cache can be replaced with something more suited to the framework if desired