One of the exciting moments in the life of a software application is evolution, the moment you have to add yet another feature. Adding a new business capability is a sign of more usage being expected from running software. However, depending on how long the software has been running, adding new capabilities can be challenging. In a code base that isnโt well thought out, the result is a lot of procedural calls or couple if then else statements.