modified File/Directory to not require Object.observe