Achieve a better separation between the different concerns, more readable code and get rid of unused dead code.