State's copy constructor/assignment now use copy/swap idiom.