Hmm. It would be a bit easier to review things if I knew which bits were supposed to be part of the public API of the concrete implementations. Will keep muddling through for now though.