refactor($q): make $q Promises A+ v1.1 compilant

Refactor to make $q Promises A+ v1.1 compilant
we should not remove this comment, we'll want to know why we did it this way later