docs: function (evt, expectedEvt) {
          if (evt === expectedEvt)
              return null;
          if (typeof(expectedEvt) != typeof(evt))
              return [];
          if (typeof(expectedEvt) == 'object') {
              for (var i in expectedEvt) {
                  var res = diffObjects(evt[i], expectedEvt[i]);
                  if (res != null) {
                      res.unshift(i);
                      return res;
                  }
              }
          } else if (evt != expectedEvt) {
              return [];
          }
          return null;
      }