Whenever you have a large application, you tend to end up with duplicated effort where adding something new requires lots of small, repetitive, thoughtless actions—monkey work. As programmers, if our code has that kind of duplication, it’s a pretty good sign our design needs to improve. Well, our application has reached that point.