eek.. actually it is a little hairier again on account of private field access.  I think I need to leave this here for now, with a TODO.