Taken Q.js/$q translation as far as I can take it today. It's ok