Sometimes you just don't get the result and design right from the start. But then when you break them out in smaller units, it gives you an opportunity to do better documents. And I need to see in this article, you reference Martin Fowler's Refactoring book. One of the most important things that came out of that is not all the refactoring, but this idea of code smells.