IntervalCandidate not Comparable anymore, finding max is now done with a specific Comparator. Additionally it now extends Interval so we can use the Interval type for the final public output.