Refactored A lot of the spell-specific code from ItemManager, also split it into two files.