Stream of consciousness about software design and unit testing (assuming that there is any real difference between the two).