dropped unnecessary sorting
added match stub
relaxed return type
added remaining mana
revamped initial tests
converts specs to use spell dsl