In the world of programming, nothing guarantees an instant ulcer more than change.
Object-oriented programming (OOP) is particularly susceptible to
problems stemming from changes made to objects upon which the code is dependent.
However, when dependencies are well managed, adverse affects from change can
be kept at bay.