Investigate if `PointObservation` can be broken down into two different subclasses: one that requires coordinates and one that does not.