Fix #150 - Path resolution is done everytime an fs change happens

Fix #150
Overall, this is a great refactor. I love your use of recursive functions.