This is why simulation (Simula67) is one of the pillars upon which OOP is based.
Using this metaphorical idea helps one construct hierarchies of objects to solve large-scale problems rather than finding ways to constrain the flow of control through a large imperative program.
Small programs can be conceived of by a single programmer and a simple informal specification can encompass all (or most of the) relevant characteristics of a solution. (Chief programmer team concept is appropriate.)
Large programs require a team of programmers for whom the most difficult task becomes communication rather than programming. (Design practice and communication strategies are critical because no chief programmer can understand the whole system.
Miller, G. The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. The Psychological Review, vol. 63(2), p.86. People don't deal well with large systems containing many different objects. They need hierarchies to simplify the problem.