DataSeries behaves like an OrderedDictionary (key-value pairs, keys are stored in the order in which they are added) which has a name. Since Dictionary understands messages like average, sum etc. Perhaps (not sure), DataSeries can be implemented simply by subclassing OrderedDictionary and extending it with name (and maybe some other methods).
Because right now DataSeries is a subclass of SequenceableCollection and reimplements the whole key-value mechanism. Which is terrible.