All classes that make up a Tank now conform to NSCopying. In related news: When comparing a tank with itself, a duplicate tank object is created so module values can be changed independently.