Re-organize ko.task; add tests for ko.task.