More domain classes - next up: implement their pretty printing and write the reader/writer tests.