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

This is much easier to use for the straightforward use cases, thanks.

- rebased to current master
- added missing license headers
- fixed some style nits and corrected commit message