The power of ruby blocks, amazinggit status helps keeping your code DRY, separating list traversal from core logic of methods