docs: function (object) {
                  // dispose all the interfaces of the given object
                  var interfaces = object.__$interfaces;
                  if (!interfaces) {
                      // no interface to destroy
                      return;
                  }
                  for (var i in interfaces) {
                      if (interfaces.hasOwnProperty(i) && interfaces[i].$destructor) {
                          interfaces[i].$destructor();
                          interfaces[i] = null;
                      }
                  }
                  object.__$interfaces = null;
              }