Added spell stacking unit test
Added new support classes
Full update, changes too numerous to list