I'm sure there's still lots of refinement that needs to be done here, but this seems like a good checkpoint. Change-Id: Ida808464c0cc40c84f7f79c016d3c6a148d50a32