The problem in this prototype is that inner classes are constructed with a different instance of the enclosing class
than is used to run the fixture functions in the enclosing class.
Using consistent instances at each level of nesting, so that functions within a scope share the same context.
Runs in this sequence:
- Top-down constructors for each level of nesting
- Top-down Establish/Because for each level of nesting, where such functions are declared
- It at the lowest level
- Cleanups - these still need to be reversed to run inner -> outer (bottom up)
Running Cleanup bottom-up