Implement validation for circular dependencies
Improve use of constraints, especially relating to depedent sessions.
Additional constraint improvements