Eliminating shared globals and adding preliminar support for constructors/setups/teardowns