Many times, I have had a well-organized OO module organically grow to the point where I could no longer quickly find the part of the code I needed to look at in my editor. Some people use code folding to help with this, but I find it kind of annoying. When I've taken the time to break up a large module, it has improved my ability to find things in the code, and also makes it easier to teach to someone else, since the API is in smaller bites.