Remove completed item from todo list
Bunch of refactorings across the project to give better separation of concerns.
Updates to test document.