Beyond Mock Objects - The Code Whisperer

What I found interesting is that I read the initial sample as needing a date injected and jumped straight to "pass date as parameter". Which was the same ending point, but I think by missing the steps in between I eliminated the gradual discovery of an InstantaneousController - the problem was so "easy to solve" that I didn't give it much more thought.

I've been reading "Thinking Fast and Slow" and a good part of the book is how the intuitive part of our brain can jump to an answer in a snap and the rational part of our brain is lazy enough to just let that go by unnoticed. Similarly, I jumped to the answer and missed out on something subtle. I wonder how many date injection methods I'd write before noticing the duplication?