UNSAFE FOR MERGE. First commit to rule them all. Changed TodoItem constructor to remove ambiguity.