Avoid exceptions (part 2): DependencySolver, Cyclic exception.
ComponentDependencies now is partially handles cyclic dependencies.