Program understanding is hard
Agent.java
?
public class Agent {
   start()
   doIt()
   stop()
}
 Hard to navigate
 Hard to see the “big picture”
 Behavior is implicit
 Purpose may be lost