Brief : Common functionality in Single Responsible classes as Core module and then use them as per different needs. DRYs out code. Helps cross cutting concerns e.g. logging. Functionality -> Encapsulation = Aspect(Wrapper + Single Responsible + Decorator Pattern + Open Close ) == Modular component with good OO
A Lot To Learn, Explore and Share...