Patch Set 5: I would prefer that you didn't submit this

(4 inline comments)

When posting very unfinished code, please tell potential reviwers what to look at and what to ignore so we don't waste time on the wrong things.

The overall structure of the code is ok. As for details, make the code work and complete the tests to prove it. I don't think there is much to review just yet.