First batch: PerkType (similar to ItemType) introduced, which used in PerkClass (similar to ItemSlotClass). createPerk accepts PerkType, not String id. Other methods still accept string ids, needs work. Also added a little bit of type safety