'Apply to the input sequence *data* each registered function
and return the results as a dictionnary.
:param data: Sequence of objects on which the statistics are computed.'

def compile(self, data):

    values = tuple((self.key(elem) for elem in data))
    entry = dict()
    for (key, func) in self.functions.iteritems():
        entry[key] = func(values)
    return entry
