Why aren't there any OOP guidelines for creating small/medium-sized classes? MVC is cool, but it's too high-level! MVC tells you where components should go, but it doesn't inform engineers on how the components should operate or communicate or fit together. Of course design-patterns are also cool, but there are so many! Each design pattern is...