Incremental update

Pushing this so that others can begin to use it.  Will be breaking
all of these commits into smaller, meaningful pieces, and adding
tests.

Change-Id: Idfd0f441c0eda44ecfccf0b82c33a30dd21b2f17