'Run the cleanups added with L{addCleanup} in order.
@return: A C{Deferred} that fires when all cleanups are run.'

def _runCleanups(self):

    def _makeFunction(f, args, kwargs):
        return (lambda : f(*args, **kwargs))
    callables = []
    while (len(self._cleanups) > 0):
        (f, args, kwargs) = self._cleanups.pop()
        callables.append(_makeFunction(f, args, kwargs))
    return util._runSequentially(callables)
