Change AddDirectory() to return a IBinder allowing the use of ToIdentifier()
Rename DirectoryWatcher to FileWatcher
Change TimedExecution to be milliseconds rather than seconds.
ResourceLocation GetHashCode() generates hash from supplied argument.