Ch.15 - Up to renaming SniperState -> SniperSnapshot