Infrastructure streamline. Multi-level support fully implemented. Lesson
learned: avoid passing an object to another method while still
constructing the object to maintain sanity and avoid extreme confusion.
In this case, it works, but is probably generally a bad idea.