Handle cyclic dependencies

* The PR depends on #96.
* Please review only the second commit.
I don't see where `_constructionCounter` gets decremented. I think you are measuring how many can be created, not how deep they can be created.