This limits the file watch listener to only attach once and not on every render which is unnecessary.
This needs the usual "I know the `app` element exists" annotation, plus dealing with a non-existing /etc/hostname (in which case the watch will return `null`, and we shouldn't poke that into a `string` state).