refactor todos template to use observer and manual items render