code: function Command (meta, cmdFn) {
    Definition.call(this, meta);
  
    meta = meta || {};
  
    if (!cmdFn || !_.isFunction(cmdFn)) {
      var err = new Error('Command function not injected!');
      debug(err);
      throw err;
    }
  
    // this.source = meta.source || {};
  
    this.version = meta.version || 0;
    this.payload = meta.payload === '' ? meta.payload : (meta.payload || null);
    if (meta.existing) {
      this.existing = true;
    } else if (meta.existing === false) {
      this.existing = false;
    } else {
      this.existing = undefined;
    }
  
    this.cmdFn = cmdFn;
  
    this.preConditions = [];
    this.preLoadConditions = [];
  }
docs: Command constructor
  @param {Object}   meta  Meta infos like: { name: 'name', version: 1, payload: 'some.path' }
  @param {Function} cmdFn Function handle
  `function(cmd, aggregateModel){}`
  @constructor