Reduces dependency on CharacterType-Enum
Dissolves CharacterType enum
Moves character type collection to generics
* All clients except for some few tests and the reflection-loaded classes use the provided instance.