State modularity - allow each step module to have its own state

Also, let teardown action know the state.