Jak zrobić posortowaną klasę słownika?

Trudno mi napisać klasę, która powinna być w stanie przejrzeć sortowaną dicitonary. Moim głównym problemem jest większe przeciążenie. Nie wiem, jak posortować dic.

class SortedDict():
    def __init__(self, dic = None):
        self.dic = {}
        if len(dic) > 0: self.dic = dic;

    def __iter__(self):
        self.dic = sorted(self.dic.keys())
        self.index = 0
        return self

    def next(self):
        if self.index+1 < len(self.dic):
            self.index += 1
            return self.dic.keys()[self.index]

questionAnswers(2)

yourAnswerToTheQuestion