There's no clean way to move the spellcast to a proper hook without making it even more ugly, at least what I know of.