Worked on typestate for fields