This utility has been created in order to provide automatic management and configurations of running applications and services.
It is a common need to have a specific set of applications and system services running in order to perform one task, which are later no longer required. This situation can be addressed by defining profiles - which specify the applications that are needed in a certain situation.
In order to accommodate this functionality as good as possible, a profile definition is written in XML, and provides many configurable parameters. The applications or services are then started and stopped according to the XML profile. The profile can be applied or reverted (undone), and it specify what actions are taken in each case.
The manager executes the actions sequentially and it waits for each one to complete (for example, it waits for an application to be fully started, or for a service to be fully stopped).