composition - todoList view model