Move most of the task parsing out of the application into the data model