docs: function getImageData(array, callback)
      {
      "use strict";    
      array.map( doSomething);   
      // this is not fully satisfying - I collect the promises and then do the writeFile via timeout
      setTimeout(function(){
          "use strict";  
          Q.all(promises)
              .then(function (first) {
                  writeFile();
              }, function (error) {
              // All of the promises were rejected.
          });
  
      },0);
  
      }