public CameraBuilder withApproach(Direction approach) {
   data.addApproach(approach);
   return this;
 }
 public Camera build() {
   return new Camera(data.getLocation(), data.getApproaches());
 }
 public CameraBuilder withLocation(Location location) {
   data.setLocation(location);
   return this;
 }