docs: function(el, bind, unbind) {
              // Removing an element can call teardown which
              // unregister the nodeList which calls teardown
              var tornDown = false,
                  teardown = function() {
                      if (!tornDown) {
                          tornDown = true;
                          unbind(data);
                          can.unbind.call(el, 'removed', teardown);
                      }
                      return true;
                  }, data = {
                      teardownCheck: function(parent) {
                          return parent ? false : teardown();
                      }
                  };
              can.bind.call(el, 'removed', teardown);
              bind(data);
              return data;
          }