When we create it, we don't have an item. For that reason, the bind function actually accepts that you return a null value. When an item is available, it will be rebound automatically. This makes it possible to express and execute bindings before you have the source object you want to proxy with the ViewModel. We also utilize the
autocommit
feature here. This is done so that when you click the completed check box, the item is written back into the source TodoItem so that the count label can be updated. The same goes for when you edit it in the text field.