The native file watching is buggy, use hybrid approach