There are two problems in computer science:1) Naming things2) How do you get two objects that really shouldn't know about each other to share data?3) Off-by-one errors