Patch Set 1: Looks good to me, approved; IP review completed

Looks good. I'm a bit torn on this on naming the objects *Builder as that usually implies you using the builder pattern which has a bunch of factory methods to build* stuff. I think this is better than we have now so we should let it slide. When we release 0.9 and do another API review for 1.0, we can revisit this topic again...