More cleanup.  Less variables to track because we just leverage our context_ instead of duplicating pointers.  Also relocate some initialization code to the constructor, where it fits a bit better.