This interface requires more thought to prevent all of the read & write
logic from going into one class.

That said, it seems silly to have SqlGenerator be a non-static class,
because there is no shared state across accesses.