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; }