"When looking at it this way, the problem with using an interface is that if we make a change to the surface such as adding a method or changing a parameter signature for a method this change must be made in all the classes implementing the interface." . . . .