code: function executeListenersSyncronously(name, args) { // defaultAction is not used
          var listeners = api.events[name];
          if (!listeners || listeners.length === 0) return;
  
          $.forEach(listeners, function(listener) { // index
            (listener.closure || listener.handler).apply(listener.context || null, args);
          });
        }
docs: This is identical to executeListenersAsyncronously except that handlers will be executed syncronously.  On completion the defaultAction handler will be executed with the args.  @param [Array] listeners An array of functions to execute. Each will be passed args.  @param [Array] args An array of arguments to execute each function in  +listeners+ with.  @param [String] name The name of this event.  @param [Function, Null, Undefined] defaultAction An optional function to execute after every other handler. This will execute even if +listeners+ is empty. +defaultAction+ will be passed args as a normal handler would.  @return Undefined