FIX: correctly invoke the callback on all the directories, recursively and using the return value to continue or not recursing deeper.