Added IFile, IPath, and IDirectory implementations, per Jamie's requirement.