skilltype refactor

more modular and extensible