Update patch set 4
Patch Set 4: Code-Review-1
Little bit of everything. Some questions, some minors, some majors (but don't worry, I do see the "WIP"!). One of the bigger concerns is that I don't think we should be avoiding an additional constructor parameter. There's no reason to avoid it AFAICT and it's putting code in illogical places.