Add class CharacterSpellFactory and helper methods