Inheritance vs Composition — LLD System Design Theory