Convert VisionStatus to event loops.

Change-Id: I8b34af5c98a876751651c78ccfad6c456c788274
diff --git a/y2016/actors/autonomous_actor.cc b/y2016/actors/autonomous_actor.cc
index a5621b3..55afeaf 100644
--- a/y2016/actors/autonomous_actor.cc
+++ b/y2016/actors/autonomous_actor.cc
@@ -49,7 +49,10 @@
     : frc971::autonomous::BaseAutonomousActor(
           event_loop, control_loops::drivetrain::GetDrivetrainConfig()),
       vision_align_actor_factory_(
-          actors::VisionAlignActor::MakeFactory(event_loop)) {}
+          actors::VisionAlignActor::MakeFactory(event_loop)),
+      vision_status_fetcher_(
+          event_loop->MakeFetcher<::y2016::vision::VisionStatus>(
+              ".y2016.vision.vision_status")) {}
 
 constexpr double kDoNotTurnCare = 2.0;
 
@@ -211,11 +214,11 @@
   while (end_time > monotonic_clock::now()) {
     if (ShouldCancel()) break;
 
-    ::y2016::vision::vision_status.FetchLatest();
-    if (::y2016::vision::vision_status.get()) {
-      vision_valid = (::y2016::vision::vision_status->left_image_valid &&
-                      ::y2016::vision::vision_status->right_image_valid);
-      last_angle = ::y2016::vision::vision_status->horizontal_angle;
+    vision_status_fetcher_.Fetch();
+    if (vision_status_fetcher_.get()) {
+      vision_valid = (vision_status_fetcher_->left_image_valid &&
+                      vision_status_fetcher_->right_image_valid);
+      last_angle = vision_status_fetcher_->horizontal_angle;
     }
 
     drivetrain_queue.status.FetchLatest();