initial implementation of Task and TaskRepo