Add a problem report when dependency cycle is detected.
Add Service log messages to service lifecycle whenever appliable.
Add a basic test for parent dependencies and fix bugs found in ParentDependency
CheckDependencyCycleTask.checkDependencyCyle must use ServiceContext to create tasks, and not the Transaction
At ProblemReport.addProblem, update maxSeverityLevel if new severity is larger than current maxSeverity value
Reimplement unrequired/required feature. Make SimpleDependency validate only if not unrequired.
Also, check only for dependency missing for now.
Fix bug at StartingServiceTasks.create: taskDependencies parameter must be always be taken into account
Remove anti features from dependencies: there is no need for satisfied field, dependency available notifications with up parameter, and related code features.
At ServiceController removal, make remove task dependent on completeTransitionTask.
Do not invoke stop on failed services.
At SimpleDependency, only add demand after service has been installed. Otherwise, we risk demanding a registry for a dependency that won't be installed.
Force rollback of transactions with validation problems. Update tests.
there's just one terminate listener for both commit() & rollback() methods