And actually, a slightly cleaner way to do this might be:

* Not have any special-case code in FileSystem
* In AppshellFileSystem.watchPath(), always return an error code on XP
* Maybe also call the offlineCallback() as soon as init() is called on XP