-Added setup & teardown options for modules
-Added state handling for modules
Enabling module creation to be much more flexible