This should be called when the Executor has finished executing all of the things it has been asked to execute. This should be called in the event of a failure as well, and passing in false for success to allow the caller to know failure. Errors should be broadcast on the error delegate, so this is just a handy way to know at the end without having to track it yourself.