docs: function(ev, newList, oldList) {
                          teardownList();
                          // make an empty list if the compute returns null or undefined
                          list = newList || [];
                          // list might be a plain array
                          if (list.bind) {
                              list.bind('add', add)
                                  .bind('remove', remove);
                          }
                          add({}, list, 0);
                      }