### Why? - So that adding tests is easier - So that adding a new way to process logs is easier - There's a lot of for loops (the code could be more readable)