demo: rework TodoMVC