Add some unit tests
Refactor tests
#14 : Refactor recursiveRemove()
Optimize recursiveRemove methods
Optimize all remove methods - closes #14