An abstract implementation of the TargetEstimatePair. This is useful
when keeping track of both a target (ground-truth) and an estimate
(prediction), for example when estimating the performance of a function.