Open-Close Principle in Programming Explained