`self.self` was an issue, but actually it makes more sense to just call `run()`
we should not report 100% until all invocations are started *and* finished