Todo list model, controller and edit view component