Fix teardown all to support teardowns that trigger other teardowns.

Was playing with how to nest components and make sure that all components are properly torn down – essentially building a helper for the technique talked about on the mailing list(s).