====
TODO
====

- use the same code for FSPathStorageBase.removeGhostFiles and GhostFiles.removeGhostFiles

- implement FSFileRemoveTransaction which is able to abort a remove transaction
  by revert isGhost status

- up test coverage to 100% or ditch unused code
