Is there a good way not to use a null object here?  If we use a null object, then the specs can call functions on the object that aren't implemented, and we're unlikely to notice.