'Save the item\'s state information to an external datastore,
if one has been provided.
Arguments:
remove -- If True, expunge the item from the datastore.'

def save(self, remove=False):

    self['subscription'] = self._subscription()
    if remove:
        self._state['removed'] = True
    if self.db:
        self.db.save(self.owner, self.jid, self._state, self._db_state)
    if remove:
        del self.xmpp.roster[self.owner][self.jid]
