@edvin I had a version that introduced an activeItemsProperty that used a StringBinding to produced the "# items left" Label
This worked adding and removing items which notify the ObservableList. However, changing the contents of an item (completed checkbox) didn't fire a change even on the list, so the label wouldn't update as it does now.
I considered trying to do something with Change.wasReplaced to get the ObservableList notified which would update the Label.