Understanding why Object Oriented programming is such a powerful competitive advantage