Launcher-Cascade This module provides a framework to launch processes, test whether they succeeded or not and report on that. Each process is modeled as an object and can depend on other processes to start, i.e., a process will not be started until all the processes it depends upon have successfully been started. Process launchers must be implemented as Launcher::Cascade::Base objects (or subclassses thereof). Their launch() method will actually launch the process, and their test() method will check whether it succeeded or not. Each launcher can be made to depend on one or more other launchers: it will then refuse to launch() until the others have been test()ed successfully. All the launchers should be given to a Launcher::Cascade::Container, which will run them in turn and test their status when applicable, until either all of the C