'Clean up observers, reset the XML stream and send a new header.
@param success: the success protocol element. For now unused, but
could hold additional data.
@type success: L{domish.Element}'

def onSuccess(self, success):

    self.xmlstream.removeObserver('/challenge', self.onChallenge)
    self.xmlstream.removeObserver('/failure', self.onFailure)
    self.xmlstream.reset()
    self.xmlstream.sendHeader()
    self._deferred.callback(xmlstream.Reset)
