code: function trigger(app, evName, data) {
              var triggerData = app;
              if ("string" === typeof app) {
                  triggerData = {
                      eventName: evName,
                      appName: app,
                      data: data
                  };
              }
              if ("*" !== defaultAppName) {
                  triggerData.appName = triggerData.appName || defaultAppName;
                  if ("string" === typeof app && ("object" === typeof evName || "undefined" === typeof evName)) {
                      triggerData.eventName = app;
                  }
              }
              if (!triggerData || typeof (triggerData.eventName) === "undefined") {
                  evUtil.log("Ev name not spec for publish", "ERROR", "Events");
                  triggerData = null;
                  return null;
              }
              triggerData.passDataByRef = triggerData.passDataByRef || !cloneData;
              _storeEventData(triggerData);
  
              var callBacks = evUtil.getListeners(lstnrs, triggerData.eventName, triggerData.appName);
  
              if (callBacks.length > 0) {
                  for (var j = 0; j < callBacks.length; j++) {
                      var eventData = triggerData.passDataByRef ? triggerData.data : evUtil.cloneEventData(triggerData.data);//Clone the event data if there was not an explicit request to passByRef
                      var eventInformation = {appName: triggerData.appName, eventName: triggerData.eventName};
                      var callBack = callBacks[j];
                      if (callBack.aSync || (eventData && eventData.aSync)) {
                          setTimeout(_createCallBack(callBack, eventData, eventInformation), 0);
                      } else {
                          _createCallBack(callBack, eventData, eventInformation)();
                      }
                  }
              }
              triggerData = null;
              return (callBacks.length > 0);
          }
docs: This publishes/triggers an event
  @param app = {
  eventName - the name of the event triggered
  appName - optional specifies the identifier it is bound to
  passDataByRef: boolean flag whether this callback will get the reference information of the event or a copy (this allows control of data manipulation)
  data - optional event parameters to be passed to the listeners
  } || app name
  @param evName = event name
  @param data = event data
  @return {*}