code: function (data) {
                  var me = this;
                  me._waitForData();
                  me._dataInResolve(data);
                  return new Promise(function (resolve, reject) {
                      me._dataOutResolve = resolve;
                      me._dataOutReject = reject;
                  }).then(function (value) {
                      delete me._dataOutResolve;
                      delete me._dataOutReject;
                      return value;
                  }, function (reason) {
                      delete me._dataOutResolve;
                      delete me._dataOutReject;
                      return Promise.reject(reason);
                  });
              }
docs: Waits for the read API to write it out
  
  @param {*} data Data to write
  @return {Promise} Resolved when write operation has been done on output
  @protected
  @since 0.2.5