import java.awt.geom.Point2D; import java.util.Observable; public class ObservableVehicle extends Observable implements Vehicle { private VehicleImpl v; private ObservableVehicle(double maximumSpeed) { v = new VehicleImpl(maximumSpeed); } @Override public double speed() { return v.speed(); } @Override public double direction() { return v.direction(); } @Override public Point2D position() { return v.position(); } @Override public void go(double time) { v.go(time); setChanged(); notifyObservers(); } }