More clean code refactoring.
Split out spells in to separate classes.