Added Q.done() to all promises to reduce unpredictable promise behavior