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

Refactor to make $q Promises A+ v1.1 compilant
Do we really need to put this in a separate function? I got yelled at for doing that