Which of the following describes a key step in object-oriented programming?
A) Brainstorming the classes within a problem
B) Preventing objects from communicating with one another by prohibiting the invoking of one another's subprograms
C) Removing superfluous data values from a field
D) Deleting a named algorithm to prevent faulty manipulation in the object
E) None of these is correct.