function (modMeth, filter, cb = (err, val, cb) => cb()) {
      this.promises.push( new Promise((resolve, reject) => {
        modMeth(...filter, (err, val) => {
          cb(err, val, resolve);
        });
      }));
    }
function (modMeth, filter, cb = (err, val, cb) => cb()) {
      this.promises.push( new Promise((resolve, reject) => {
        modMeth(...filter, (err, val) => {
          cb(err, val, resolve);
        });
      }));
    }
function ( modMeth , filter , cb = ( err , val , cb ) => cb ( ) ) { this . promises . push ( new Promise ( ( resolve , reject ) => { modMeth ( ... filter , ( err , val ) => { cb ( err , val , resolve ) ; } ) ; } ) ) ; }
eval and other code call this to run a model method then cb
eval and other code call this to run a model method then cb