'Store our monitors to the database. This is called
by the server process.
Since dbserialize can\'t handle defaultdicts, we convert to an
intermediary save format ((obj,fieldname, idstring, callback, kwargs), ...)'

def save(self):

    savedata = []
    if self.monitors:
        for obj in self.monitors:
            for fieldname in self.monitors[obj]:
                for (idstring, (callback, persistent, kwargs)) in self.monitors[obj][fieldname].iteritems():
                    path = ('%s.%s' % (callback.__module__, callback.func_name))
                    savedata.append((obj, fieldname, idstring, path, persistent, kwargs))
        savedata = dbserialize(savedata)
        ServerConfig.objects.conf(key=self.savekey, value=savedata)
