Use default-initargs, switch some accessors to readers.