expose getPath, setPath and setPathIfChanged to allow for external manipulation