changes to controller functionality

Spells now uses Api.Models.Spell instead of Data.Model.Spell,
dependencies are injected through the constructor