more interfaces; common enums in own files; methods in Item and Attack; changes for consistency