Beyond Mock Objects - The Code Whisperer

Yes. This represents an intermediate step, and might suffice, but I have found unexpected value (like the example here) in going a few steps farther.