'Return the keyed message; raise KeyError if it doesn\'t exist.'

def __getitem__(self, key):

    if (not self._factory):
        return self.get_message(key)
    else:
        return self._factory(self.get_file(key))
