Small suggestion for the the status of the task, I find it easer to work with boolean values.  So maybe instead of status you could use something like @complete and set it equal to true or false.

It may make it easier to test for it later on.