Return an ExitCode() object rather than non-existant self.simulation
Nasty nasty bug: close() is a blocking call, so child didn't return
Don't use topology component by default