todoMVC style todo example