Major refactoring of code, split Task Lsit into separate class.